我正在嘗試新的XMLHTTPRequestUpload功能來上傳一些文件到一個PHP腳本,它大多工作正常,上傳開始,我得到完成響應等 - 但進展doesn似乎沒有用。XHR上傳進度從一開始就100%
尋找event.loaded值 - 在Firefox中,我似乎得到0和文件大小之間的隨機值;在Chrome中(我大部分都在工作),即使readystate未達到'4',開發工具窗口仍顯示要加載的文件,我仍可以獲得文件總大小?
任何想法?
繼承人我的代碼:
var xhr = new XMLHttpRequest()
xhr.upload.addEventListener('progress', function(event) {
if (event.lengthComputable) {
$('ajaxFeedbackDiv').innerHTML = event.loaded + '/' + event.total;
}
}, false);
xhr.onreadystatechange = function(event) {
if (event.target.readyState == 4) {
updateFileList();
}
};
xhr.open("POST", "_code/upload.php");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("X-File-Size", file.size);
xhr.setRequestHeader("X-File-Type", file.type);
xhr.setRequestHeader("Content-Type", "multipart/form-data");
xhr(file);
非常感謝
本
您是否發現問題的解決方法或解決方法?我目前遇到同樣的情況,但它似乎取決於您的網絡連接。它在一個位置按預期工作,並從另一個位置跳到100%。 – unclenorton 2011-07-07 14:45:09
我遇到了同樣的問題。有趣的是,這似乎只發生在我在本地主機上運行時 - 當我部署到我們的dev或prod服務器時,加載的值會像預期的那樣回來。 – brettjonesdev 2014-02-05 18:04:14