NetCore 上传,断点续传,可支持流上传


以前公司要作一个断点续传的业务,找了许多都没有找到合适的,都是残次不全的,终于让我遇到一个基于百度的 webuploader 的断点续传。
原做者: 断点续传(上传)( https://www.somethingwhat.com/detail?id=deccc98bb1df57fc),那时候真感受是大牛啊前端

而后呢,真的很好用,可是不是Net core 版本的,我又很差意思叫原做者移植一个Net core 的版本,因此,我就移植了一个Net core 的版本,思路没有变化,就是支持Net core了,但愿有人能用到。git

若是Net core  有更好的断点续传方式,还请告知一下。     github

思路仍是根据文件的md5值,做为断点续传的依据,上传文件时接口请求一下服务器上是否有上传过,若是有,则接着传;没有就从第一片开始上传。web

主要是须要前端支持分片,对一个大文件进行分片。数据库

  1. 前端用百度的webUpload 上传,断点续传的思路:根据文件的md5值去服务器上检查一下,是否有文件切片,若是有就跳过服务器上的最大片数接着传,无文件切片,则从第一片(+1)开始上传,代码截图以下:
  2. 对应的代码都注释,仍是不截图了吧、后端

  3.   后端主要就三个主方法,1.获取指定文件的已上传的最大文件块(GetMaxChunk 2.文件分块上传 (ChunkUpload 3.合并文件(MergeFiles),其余方法只是进行一个简单的封装,不要让这三个方法巨大无比。服务器

    

源码已经开源到github了,地址为:https://github.com/YPTopMan/FileUpload 工具

还有一个数据库文档管理的工具:https://github.com/YPTopMan/DBManger-NetCorespa

 

再次感谢,大神的 net framework 的断点续传,太厉害了。  orm

相关文章
相关标签/搜索