HTML5文件上载进度 - 仅限客户端

时间:2010-07-12 22:39:32

标签: javascript upload html5 file-upload

我注意到新的XMLHttpRequest对象支持firefox中的'onprogress'事件。是否可以利用部分新的HTML5文件API来获取上传进度条而无需进行任何服务器端修改?

2 个答案:

答案 0 :(得分:2)

我原则上相信是的,虽然我还没有尝试过。

问题是XMLHttpRequest#send()采用Unicode字符串并将其编码为UTF-8。它不能让您发送纯二进制文件,大多数二进制文件(如图像)都不会成为有效的UTF-8序列。

所以你可能正在使用FileAPI规范称之为“二进制字符串”(字节被视为ISO-8859-1,因此每个charCodeAt对应一个字节),重新编码为UTF-8。这将比普通文件上传大约50%。获取进度报告是否值得上传速度较慢?

(上帝,如果只有浏览器有更好的用户界面来显示上传的方式,那么无论是无休止的脚本/ Flash / Java / ActiveX废话都不是必需的。来吧,浏览器供应商,这是一个很好的大信息弹出一个进度条真的太多了,不能要求?)

答案 1 :(得分:0)

是的,从理论上讲,虽然我不得不质疑准确性,因为互联网速度通常会波动(如果你没有接线,那就更多了)。它可能会跳得很多。

然后, 是一个准确的进度条?在网上看到一个之前,我想在Windows中看到一个!