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

相關文章
相關標籤/搜索