php - 将 csv 数据传输到后端的最有效方法
问题描述
我想看看我是否可以从社区获得一些关于上传 CSV 文件的意见。这些文件很大,占用数 GB。由于服务器限制,我无法使用块上传。
所以可以说我有一个非常标准的文件输入
<input type="file" class="form-control-file" name="fileToUpload">
在更改或提交时,我可以通过路由将其传递到我的后端。控制器功能可能看起来像这样
public function uploadFilePost(Request $request){
$request->validate([
'fileToUpload' => 'required|file',
]);
$request->fileToUpload->store('csvFiles');
return back()
->with('success','You have successfully uploaded the file.');
}
这里的大问题是,对于多个 GB 的文件,此过程需要数小时,这是一个问题,因为您需要在此请求发生时保持浏览器打开。
所以我的第一个问题是这个。我可以使用类似PapaParse的东西解析客户端上的文件。这实际上需要几秒钟来解析。现在将文件解析为 JSON 字符串或数组,这会以任何方式减小文件的大小吗?
我的第二个问题是说解析对大小没有任何影响,但是我现在将所有这些 csv 数据都放在了局部变量中。有什么方法可以让我将其发送到后端而无需用户等待数小时?我已经查看了队列,这是一个选项,还是只有在数据得到支持后才会做任何事情?
真的,任何信息都值得赞赏。我的想法可能有点偏离,我只是想提出将大量数据发送到后端的最有效方法。
谢谢
解决方案
推荐阅读
- ruby-on-rails - 为 Rails 设计:将用户数据分成两个模型会提高安全性吗?
- google-chrome-devtools - Browser Mobile emulator:如何在所有设备上模拟导航栏?
- r - Rcolorbrewer 和 ggplot2 R:geom_hex 的颜色图
- javascript - iframe 的 contentDocument 正文为空
- java - 使用 apache POI 将 doc 转换为 html 剪切最终的 html 文件
- c++ - 无法将包含字符串的对象写入文件
- angular - 用茉莉花角编写单元测试
- c++ - 如何在 QCommandLineParser 中使用文件名通配符
- processing - 什么是正确的 HTC Vive 桶形失真半径函数?
- javascript - 注入 HTML - Javascript 在后续检索不可见 HTML 时失败,未定义