我试图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