首先对不起我的英语。
我正在尝试使用laravel上传大文件。我也了解,我需要将此文件流式传输到本地存储。我还使用blueimp / jquery-file-upload可以使大块。但是,如果我在服务器端流传输文件,应该在客户端使用块吗?
所有我需要的东西,它会上传一个大文件甚至带有进度条的几个文件。如果上传能净吃掉我所有的RAM,那也很好。
我所尝试的只是默认的blueimp / jquery-file-upload插件集 看起来像
// Initialize the jQuery File Upload widget:
$('#fileupload').fileupload({
// Uncomment the following to send cross-domain cookies:
//xhrFields: {withCredentials: true},
url: 'upload',
//maxChunkSize: 10000000
});
laravel控制器看起来像
$images = $request->file('files');
foreach ($images as $file)
{
$extension = $file->getClientOriginalExtension();
$imageName = $file->getClientOriginalName();
$disk = Storage::disk('local');
$disk->put("$imageName.$extension", fopen($file, 'r+'));
}
当我要在客户端使用块文件时,将其放到maxChunkSize:1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 10
并像这样更改服务器端
$images = $request->file('files');
foreach ($images as $file)
{
$file->store(
'f/', 'local'
);
}
它保存的文件少于100MB,如果尝试上传有点大的文件,则会出错 -有效负载过大-此错误在调试控制台中显示下一条消息
POST Content-Length of 445883220 bytes exceeds the limit of 134217728 bytes in
但是为什么呢?我不是用块吗?我可以,但是无法正常工作。