我正在使用ajax上传一组约50个文件,全部<= 5MB。如果连接速度较慢,则上载将“超时”,甚至没有完成第一个上载(大约需要45秒钟才能完成上载)。
在Firefox中,ajax将失败,并显示“错误”响应,但没有更多信息。在Chrome中,出现net :: ERR_CONNECTION_RESET错误。
我检查了我的Apache和php.ini设置,我相信它们已经足够。
post_max_size = 1000M
upload_max_filesize = 15M
max_input_time = -1
max_execution_time = 0
max_file_uploads = 50
memory_limit = 128M
我也尝试将ajax的timeout参数设置为0。我的ajax请求看起来像这样:
return $.ajax({
url: ajaxpath,
type: 'post',
data: formData,
dataType: 'json',
timeout: 0,
xhr: function(){
var myXhr = $.ajaxSettings.xhr();
if(myXhr.upload) myXhr.upload.addEventListener('progress',function(e){
uploadProgress(e,item);
},false);
return myXhr;
},
processData: false,
contentType: false
}).fail(function(jqXHR,textStatus,errorThrown){
console.log(textStatus,errorThrown);
});
}
随着连接速度的加快,我似乎没有遇到这个问题。如果我使用浏览器的开发人员工具来限制速度,那将会发生,这就是我在复制用户情况的方式。
我在某处缺少设置吗?如何保持上传状态?
有只小跳蛙
精慕HU
德玛西亚99