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

标签 javascript upload html file-upload

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

最佳答案

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

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

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

(上帝啊,要是浏览器有更好的 UI 来显示上传过程就好了,就不需要没完没了的脚本/Flash/Java/ActiveX 废话了。拜托,浏览器 vendor ,这是一个很好的重要信息带有进度条的弹出窗口真的要求太多了吗?)

关于javascript - HTML5 文件上传进度 - 仅限客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3232843/

相关文章:

javascript - 处理 XMLHttpRequest 异常

linux - 在 Linux 上使用 Google Breakpad HTTPUpload 功能

jquery - Html5 canvas 无法使用 jquery 在 Div 中绘制

使用经典 ASP 上传图片

javascript - 从 HTML 表单字段调用 JavaScript 函数

javascript - 错误未捕获类型错误 : Cannot read property 'checked' of null

javascript - jquery $(this).attr ('id' ) 给出未定义的结果

javascript - 通过变量字符串定义对象

javascript - 使用jquery获取点击索引

php - 检查是否要上传文件?代码点火器