传输高达10GB的大文件

时间:2019-04-10 22:06:39

标签: php jquery laravel jquery-file-upload

首先对不起我的英语。

我正在尝试使用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

但是为什么呢?我不是用块吗?我可以,但是无法正常工作。

0 个答案:

没有答案