首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fine-Uploader中止上传,出现“File is empty”错误

Fine-Uploader中止上传,出现“File is empty”错误
EN

Stack Overflow用户
提问于 2013-05-16 00:22:15
回答 1查看 1.3K关注 0票数 2

我使用非依赖于jQuery的FineUploader和PHP示例错误报告脚本来上传文件。分块和恢复处于打开状态。所有处理都来自PHP示例脚本,没有任何修改。

成功处理最大为~90mb的测试文件,但是,当尝试上载329mb的文件时,上载开始,但随后中止,并出现“file is empty”错误。

我可以从我的chunk文件夹中看到,大约77mb的文件是在错误发生之前上传的。尝试恢复不起作用,并且不会增加区块目录的大小。

环境: LAMP,Centos 6.3。

在php.ini中,post_max_sizeupload_max_filesize都设置为2048M。

有没有关于这件事的原因呢?很乐意提供更多信息。

上传代码:

代码语言:javascript
复制
<div id="failed-fine-uploader"></div>

<script>
function createUploader() {
var faileduploader = new qq.FineUploader({
element: document.getElementById('failed-fine-uploader'),
request: {
    endpoint: 'example.php'
},
chunking: {
      enabled: true
},
resume: {
      enabled: true
},
failedUploadTextDisplay: {
    mode: 'custom',
    maxChars: 40,
    responseProperty: 'error',
    enableTooltip: true
}
}); 
}
window.onload = createUploader;
</script>

编辑:控制台信息:

代码语言:javascript
复制
[17:31:09.314] [FineUploader] Processing 1 files or inputs...
[17:31:09.315] [FineUploader] Resuming CentOS-6.3-x86_64-minimal.iso at partition index 40
[17:31:09.316] [FineUploader] Sending chunked upload request for item 4: bytes 80000001-82000000 of 346011648
[17:31:09.504] [FineUploader] xhr - server response received for 4
[17:31:09.504] [FineUploader] responseText = {"error":"File is empty.","uploadName":null}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-16 23:19:02

如果你正在经历这个(相当无用的)错误,它可能有很多东西,所以我建议你全部检查它们。这个答案是在“非常大的”文件的上下文中出现的,其中似乎出现了这个错误。

在您的php.ini中,检查以确保:

post_max_size设置得足够高,足以覆盖文件大小(最大2G)

upload_max_filesize设置得足够高,足以覆盖文件大小(最大2G)

post_max_size大于upload_max_filesize (http://www.php.net/manual/en/ini.core.php#ini.post-max-size推荐),memory_limit大于post_max_size。这些因素中的任何一个都可能导致$_FILES超级全局返回为空,并导致上传出错。

在php.ini中尝试的其他事情:

考虑到上载的持续时间,max_execution_time会增加(大文件通常需要比默认值30更长的时间),max_input_time也会相应增加。

您可能还需要使用LimitRequestBody指令修改httpd.conf,因为这可能会覆盖php.ini中指定的任何内容。这是以字节为单位指定的,可以在httpd.conf或.htaccess文件中直接指定(假设您具有覆盖权限)。您也可以在每个目录的基础上指定它(为了安全),如下所示。

代码语言:javascript
复制
<Directory "/var/www/myuploaddir/">
        LimitRequestBody 1073741824
</Directory>

最后,还要确保您有足够的临时和非临时存储来存储要上载的文件。该包不能捕获“空间不足”错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16570246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档