我試圖mget上傳的進展(這隻會是一個圖像btw)。 我用的XMLHttpRequest和幾乎沒有像其他人一樣在互聯網上做,具體如下:XMLHttpRequest.upload進度事件只適用於IE
var upProgress = function(e) {
console.log(e.loaded, e);
};
var fd = new FormData();
fd.append('image', file);
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener('progress', upProgress, false);
xhr.open('POST', _Utilities.urlApi + url);
xhr.send(fd);
的圖像上傳,這部分作品。 但是,進度事件(在Firefox 31和Chrome 36中)僅在e.loaded = e.total = file' size
(一開始)觸發一次。它在IE 11中工作,該事件觸發了十幾次相同的圖片(約2.7Mo)。
我迷失在這裏,我在網上搜索,但沒有發現任何我沒有做過的事情。 例如e.loaded
和e.total
應該是相同的lengthComputable = false
這不是這裏的情況。
以上console log
顯示在Chrome和Firefox只有1號線,這裏的一些進展事件元素的內容:
lengthComputable: true
loaded: 2797378
total: 2797378
totalSize: 2797378
type: "progress"
在IE瀏覽器,但是我得到這個(我數都加載值和事件的元素):
149 [object ProgressEvent]
131072 [object ProgressEvent]
262144 [object ProgressEvent]
...
2752512 [object ProgressEvent]
2797384 [object ProgressEvent]
這意味着它按預期工作。
我不知道是什麼原因造成的。 以上所有都是在我的機器上進行測試。我遇到過一些只在某些機器或設置上遇到麻煩的人,一位朋友在其機器上嘗試過,它也是如此(Windows 8.1和Chrome),另一位朋友嘗試了相同的結果(MACOS和Chrome)。
如果您有任何想法,請在此分享,thx提前!
它看起來像這個代碼實際上工作。我試圖上傳我認爲是圖標並最終成爲虛擬機(所以1.6 + Go),我看到了Chrome上的%。我認爲它是立即100%,因爲它立即上傳整個圖像或其他東西。而且一切都是本地的,所以它超快。 – Mimu 2014-09-02 16:25:00