1

所以在过去的几个小时里我一直在努力解决这个问题,在任何地方都找不到可行的解决方案。

我在我的网站上制作了一个多文件上传器。很长一段时间以来,它都运作良好,或者至少我认为它运作良好。最近我尝试上传 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 来托管我的网站,如果这很重要的话。

4

0 回答 0