Прежде всего, извините за мой английский.
Я пытаюсь загрузить большой файл с помощью laravel. Я также понимаю, что мне нужно передать этот файл в мое локальное хранилище. Я также использую blueimp / jquery-file-upload, который может создать чанки. Тем не менее, следует ли использовать чанки на стороне клиента, если я передаю файл на стороне сервера?
Все, что мне нужно, это загрузить большой файл или даже несколько файлов с индикатором выполнения. Также было бы неплохо, если бы загрузка не поглотила всю мою оперативную память.
Все, что я пробовал, это стандартный плагин 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'
);
}
Это файлы сохранения, которые меньше, чем 100 МБ, если попытаться загрузить немного большие файлы, у меня ошибка
- Слишком большая полезная нагрузка - эта ошибка имеет следующее сообщение в консоли отладки
POST Content-Length of 445883220 bytes exceeds the limit of 134217728 bytes in
Но почему? Разве я не использую куски? Я делаю, и это не работает должным образом.