【发布时间】:2016-09-08 07:46:30
【问题描述】:
我正在拔头发。在 php 后端使用 plupload 和分块。在我使用大于 100mb 的文件之前,分块(或非分块)一直很好。
我希望能够使用 1Gb 之前的文件。不断收到错误,然后重试开始,百分比再次为 0% 并重新启动。 也没有预检选项请求。我什至使用 node-pluploader 制作了一个快速的 NodeJS 后端,它可以处理块,但存在同样的问题和错误(尽管确实发送了预检选项)。
任何建议将不胜感激
其他 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 example
【问题讨论】:
-
该主题的答案并没有解决我的问题。
标签: php file-upload plupload