在實際應用中我們經常使用到網盤服務或公司內部的文件傳輸系統,用來高效的上傳下載較大文件。那麼這些高性能文件傳輸服務,都需要分塊發送、斷點續傳功能。
今天 Gitee 推薦的這款開源項目就是基於 Netty 實現的大文件分塊上傳斷點續傳解決方案,一起來學習吧。
項目名稱:fileex
項目作者:gjj
項目地址:https://gitee.com/gaojunjie03/fileex
項目簡介
一款基於 netty、http1.1 transfer-encoding:chunked、websocket 實現的大文件分塊上傳斷點續傳處理器,同時具備上傳/下載進度和上傳/下載速度的推送功能。
項目架構
- frontend-service 簡單實現的前端頁面(依賴netty-client)
- netty-client netty 客戶端 (依賴netty-common)
- netty-common netty 客戶端服務端公共項目
- netty-server netty 服務端 (依賴netty-common)
- mongodb 提供數據服務(上傳任務、下載任務、已上傳完的文件數據)
使用說明
1.瀏覽器進入前端頁面 http://localhost:8789/frontend/file
2.左上角的圓角加號可以創建根目錄
3.每個目錄右邊的加號可以創建該目錄的子目錄
4.點擊目錄,可以顯示該目錄下已經上傳成功的文件
5.點擊文件上傳按鈕,彈窗顯示本機系統的目錄和文件架構
6.選中某個文件,點擊下方確定按鈕即可對該文件進行分塊傳輸,同時支持多文件上傳(當然了這是要看服務器和本機性能配置是否給力)
7.上傳中心支持斷點續傳,即點擊暫停,暫停後可點擊繼續或取消上傳
8.文件上傳成功後會刷新文件列表
9.文件列表的每個文件的下載按鈕會彈出選擇要下載到本機指定目錄。選中目錄後,點擊下方確定按鈕,即可進入下載中心進行文件的下載。
10.下載中心跟上傳中心一樣,支持斷點續傳
如果你想了解更多有關該項目的技術實現細節,就點擊下方瞭解更多前往項目主頁看看吧。
閱讀更多 Gitee 的文章