NetCore 上傳,斷點續傳,可支持流上傳



之前公司要做一個斷點續傳的業務,找了許多都沒有找到合適的,都是殘次不全的,終於讓我遇到一個基於百度的 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 的斷點續傳,太厲害了。  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM