Upgrade to Pro — share decks privately, control downloads, hide ads and more …

基于HTML5技术的文件上传

 基于HTML5技术的文件上传

WebUploader是个以HTML5为主、FLASH为辅的文件上传组件。在充分发挥HTML5的优势,同时又兼容IE浏览器。这次分享将介绍WebUploader是如何利用文件的分片并发上传功能来提高上传效率,已经如何支持秒传和断点续传等扩展功能。

Avatar for Baidu FEX Team

Baidu FEX Team

March 29, 2014
Tweet

More Decks by Baidu FEX Team

Other Decks in Programming

Transcript

  1. HTML5 VS FLASH 功能描述 FLASH HTML5 多选 ✓ ✓ 格式过滤

    ✓ ✓ 拖拽 ✗ ✓ 截屏粘贴 ✗ ✓ Cookie & Session ✗ ✓ 文件读取速度 ✓ ✓ 150% faster 图片预览&裁剪 ✓ ✓ 200% faster 文件上传 ✓ ✓ 10% faster 进度跟踪 ✓ ✓ 更加精准 以下是与文件上传相关的功能对比图。
  2. 上传前优化选型 • 图片压缩。 – 5M jpeg(5184×3456) => (1600x1600) 407KB 压缩比7%。

    • ZIP合并小文件。 – ZIP效率低,仅使用与2G网络。 • 合并小图片。 – 运算快10倍于zip, 总体20%提速。 ✓
  3. 不同并发对比图 0 50 100 150 200 250 1 2 3

    4 5 6 并发越多,速度越快。
  4. 分片带来的额外开销情况 0 20 40 60 80 100 120 不分片 5M

    4M 3M 2M 1M 768K 512K 256K 时间花费(秒) 以下是在网络比较畅通的情况下,通过并行上传3个33M大小的文件得出 的数据。
  5. 如何标识一个分块? 文件名 + 分块编号? 文件名 + 文件大小 + 分块编号? 文件名

    + 文件大小 + 修改时间 + 分块编号? 不精准,采用MD5分块内容。
  6. 总结  功能演示  HTML5 VS FLASH  图片压缩 

    并发与分片上传  断点续传与秒传