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

本文分享了一种基于百度WebUploader的断点续传实现,适用于NetCore环境。通过文件md5值判断服务器上是否已有文件切片,支持从前端进行文件分片上传。项目已开源,并附带数据库文档管理工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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

然后呢,真的很好用,但是不是Net core 版本的,我又不好意思叫原作者移植一个Net core 的版本,所以,我就移植了一个Net core 的版本,思路没有变化,就是支持Net core了,希望有人能用到。

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

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

主要是需要前端支持分片,对一个大文件进行分片。

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

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

    

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

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

 

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

 

转载于:https://www.cnblogs.com/Hangle/p/10233872.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值