在线预览

源码下载

应用技术 / 插件

  • WebUploader、ASP.NET MVC

说明

  • 在网上找了很多例子,都不适合,或者说… 有BUG。最后还是自己整理了一下,希望能给需要的人一个参考,少走弯路。

     

    本篇说的是web下的文件断点上传,采用文件分块上传,最后合并块文件的方式,最终实现文件的断点上传。前端使用webuploader 插件进行文件的分片处理,后端使用ASP.NET MVC进行文件的保存及合并处理。

     

    支持主流浏览器及低版本IE(ie7 ie8亲测无问题)。

     

    主要遇到的问题及解决方案:

    1) 文件MD5。

    Webuploader插件可以在用户选择文件后计算获取其选择文件的MD5值,但越大的文件计算时间越长。这里我解决的办法的是:在用户选择文件后,页面显示“验证文件”的进度,让用户感知当前文件需要等待上传。

     

    2) 文件上传前如何知道当前文件有没有曾经上传过,或文件已上传了多少。

    用户选择文件后读取该文件的MD5值,然后发送一个请求,验证其文件在服务器中是否存在,或文件在服务器中已上传的块有多少,然后返回客户端其已上传的块的大小。