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

基于HTML5技术的文件上传

 基于HTML5技术的文件上传

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

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  图片压缩 

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