Так что я боролся с этим последние несколько часов и нигде не мог найти работающего решения.
Я сделал загрузчик нескольких файлов на моем сайте. Долгое время это работало хорошо, или, по крайней мере, я так думал. Недавно я попытался загрузить 3 изображения (общий размер 16 МБ), и в какой-то момент это отображается в консоли:
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, чтобы разместить мой сайт, если это имеет значение.
Задача ещё не решена.
Других решений пока нет …