загрузка файла — слишком большая ошибка Entity Request на кусочке plupload с примером plupload-handler-php

Я вырываю свои волосы. С помощью plupload с кусками на php-сервере. Chunked (или не chunked в этом отношении) идет хорошо, пока я не использую файлы> 100 МБ.

Я хотел бы иметь возможность использовать файлы до 1 Гб. Продолжайте получать сообщение об ошибке, а затем повторные попытки запуска и процент снова на 0% и перезапуск.
Также нет предварительного запроса OPTION. Я даже сделал быстрый бэкэнд NodeJS, используя Узел-pluploader, это обрабатывает куски, но та же самая проблема и ошибки там (хотя это действительно отправило предполетный вариант).

Любой совет будет принята с благодарностью

Дополнительные директивы Apache

LimitRequestBody 0

Настройки PHP

file_uploads          On
max_file_uploads          20
max_execution_time          3600
memory_limit          640M
post_max_size          600M
upload_max_filesize          500M

JS

var uploader = new plupload.Uploader({
runtimes : 'html5,silverlight,html4',
browse_button : 'pickfiles',
url : '<?php echo SITE_URL; ?>admin?sub=upload',
silverlight_xap_url : '<?php echo SITE_URL; ?>lib/Moxie.xap',
multi_selection : false,
max_retries: 10,

filters : {
max_file_size : '1024mb',
chunk_size: '10mb',
},

init: {

FilesAdded: function(up, files) {
plupload.each(files, function(file) {
$('#document-file').html(file.name);
});
},

UploadProgress: function(up, file) {
$('#spinner-progress').html( " " + file.percent + "%" );
},

Error: function(up, err) {
console.warn("Error #" + err.code + ": " + err.message);
},

UploadComplete: function(up, files) {
console.log(files[0]);
}
}
});

uploader.init();

бэкэнд загрузчика

<?php
require_once(LIB.SLASH."PluploadHandler.php");

PluploadHandler::no_cache_headers();
PluploadHandler::cors_headers();

if (!PluploadHandler::handle(array(
'tmp_dir' => UPL_TMP_PATH,
'target_dir' => UPL_TMP_PATH
))) {
die(json_encode(array(
'OK' => 0,
'error' => array(
'code' => PluploadHandler::get_error_code(),
'message' => PluploadHandler::get_error_message()
)
)));
} else {
die(json_encode(array('OK' => 1)));
}

Я использую без изменений пример plupload-handler-php

0

Решение

Оказалось, что это принудительная настройка в конфиге ngnix. Значение client_max_body_size было принудительно установлено на 128 м по шаблону Plesk по умолчанию (default / domain / nginxDomainVirtualHost.php). Отменив этот параметр, Plesk вернул «двойную» ошибку, которая в конечном итоге привела меня к этот ответ. Сделайте собственный шаблон, обновите vhosts. Задача решена!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]