所以在过去的几个小时里我一直在努力解决这个问题,在任何地方都找不到可行的解决方案。
我在我的网站上制作了一个多文件上传器。很长一段时间以来,它都运作良好,或者至少我认为它运作良好。最近我尝试上传 3 张图片(总大小 16MB),有时它会在控制台中显示:
Failed to load resource: net::ERR_CONNECTION_RESET
这是我的上传源:
$("#submitform").click(function() {
var h = document.getElementById("filelist");
if (h.files.length < 1)
return;
$("#state").css("display", "block");
var xhr = new XMLHttpRequest()
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
$("#state").css("display", "none");
if (xhr.responseText == "")
alert("Files uploaded sucessfully.");
else
alert("Failed to upload files: \n" + xhr.responseText);
location.reload();
}
};
xhr.upload.addEventListener("progress", function(e) {
var pc = parseInt(e.loaded / e.total * 100);
$("#precentage").html(pc + "%");
}, false);
xhr.open("POST", "uploadImages.php", true);
var data = new FormData();
var j = 0;
for (i = 0; i < h.files.length; i++) {
if ($('#use' + i).val() == 1) {
data.append("image" + j, h.files[i]);
j++;
}
}
xhr.send(data);
});
并且 uploadImages.php 会执行一些基本算法,每当我尝试上传单个图像时这些算法都会起作用。
我的 php.ini 看起来像这样:
file_uploads = On
post_max_size = 500M
upload_max_filesize = 500M
curl.cainfo = "/home/accountname/php/cacert.pem"
我尝试添加 cacert.pem 但它没有解决任何问题。我正在使用 godaddy 的 linux starter pack 来托管我的网站,如果这很重要的话。