XMLHttpRequest 2有一个新东西.它可以上传文件.我有那个工作(这很容易).现在我想知道是否有办法获得该文件的上传进度.我通常不会对此感兴趣,但在Google Chrome(8)中,我看到onreadystatechange事件是XMLHttpRequestProgressEvent.进展……关于上传进度(只是请求状态)没有任何内容,但它让我感到疑惑.
谷歌Chrome在本地上传大文件时有一个进度“计数器”.这是标准的.它始终存在且不可配置.它在状态栏中.用Javascript可以做到这一点吗?我想把它放在一个很好的< progress>元素什么的.
我不想要SWF或Java上传器(使用轮询和> JS回调).它必须是原生的.如果浏览器可以做到这一点,这些天Javascript应该能够做到,对吧!? =)
如果没有XMLHttpRequest 2,我想这对于非常标准的文件上传是不可能的(没有ajax,只有< input type = file>).
谢谢(你的)信息
解决方法:
挂钩进度事件.这将为您提供所有请求的进度.首先检查上传对象是否可用 – 这将仅为您提供上传部分的进度.
像这样的东西:
var xhr; // this is your XMLHttpRequest
// hook to upload events if available, otherwise snag all progress events
var eventSource = xhr.upload || xhr;
eventSource.addEventListener("progress", function(e) {
// normalize position attributes across XMLHttpRequest versions and browsers
var position = e.position || e.loaded;
var total = e.totalSize || e.total;
// Todo: display progress
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。