好的,所以我从一个不同的问题中找到了这种上传大文件的方法:
function sliceit(file)
{
    fr = new FileReader;
    chunkSize = 1000000;            
    chunks = Math.ceil(file.size / chunkSize);
    chunk = 0;
    var isstart = true;
    function loadNext() {
        start, end,
        start = chunk * chunkSize;
        if (start > file.size)
            start = end+1;
        end = start + (chunkSize -1) >= file.size ? file.size : start + (chunkSize -1);
        fr.onloadend = function(e)
        {
            while(!fr.result || fr.result == "" || fr.result == undefined)
            {
            }
            fdata = fr.result;
            xmlhttp, form, data;
            data = {};
            data.filename = document.getElementById("filename0").value;
            data.username = document.getElementById("username").value;
            data.password = document.getElementById("password").value;
            data.public = document.getElementById("public").value;
            if(isstart)
            {
                var form = new FormData();
                form.append("filename", data.filename);
                form.append("username", data.username);
                form.append("password", data.password);
                form.append("public", data.public);
                form.append("filebytes", fdata);
                xmlhttp = jQuery.ajaxSettings.xhr();
                xmlhttp.open("POST", "../MakeEmptyFile.php", false);
                isstart = false;
            }
            else
            {
                form = new FormData();
                form.append("filename", data.filename);
                form.append("username", data.username);
                form.append("password", data.password);
                form.append("filebytes", fdata);
                xmlhttp = jQuery.ajaxSettings.xhr();
                xmlhttp.open("POST", "../AddTo.php", false);
            }
            xmlhttp.send(form);
            console.log(xmlhttp.responseText);
            if (++chunk <= chunks)
            {
                loadNext();
            }
            else
            {
                stdlog("Completed.");
            }
        };
        fr.readAsText(file.slice(start, end));
    }
    loadNext();
}
出于某种原因,每次我加载 XMLHttpRequest 时,它都显示文件数据从未真正发送过。这是因为它太大了,还是什么?谢谢!