「源碼學習」基於Netty的大文件斷點續傳開源解決方案


「源碼學習」基於Netty的大文件斷點續傳開源解決方案

在實際應用中我們經常使用到網盤服務或公司內部的文件傳輸系統,用來高效的上傳下載較大文件。那麼這些高性能文件傳輸服務,都需要分塊發送、斷點續傳功能。

今天 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

「源碼學習」基於Netty的大文件斷點續傳開源解決方案

2.左上角的圓角加號可以創建根目錄

「源碼學習」基於Netty的大文件斷點續傳開源解決方案

3.每個目錄右邊的加號可以創建該目錄的子目錄

4.點擊目錄,可以顯示該目錄下已經上傳成功的文件

「源碼學習」基於Netty的大文件斷點續傳開源解決方案

5.點擊文件上傳按鈕,彈窗顯示本機系統的目錄和文件架構

「源碼學習」基於Netty的大文件斷點續傳開源解決方案

6.選中某個文件,點擊下方確定按鈕即可對該文件進行分塊傳輸,同時支持多文件上傳(當然了這是要看服務器和本機性能配置是否給力)

「源碼學習」基於Netty的大文件斷點續傳開源解決方案

7.上傳中心支持斷點續傳,即點擊暫停,暫停後可點擊繼續或取消上傳

「源碼學習」基於Netty的大文件斷點續傳開源解決方案

8.文件上傳成功後會刷新文件列表

9.文件列表的每個文件的下載按鈕會彈出選擇要下載到本機指定目錄。選中目錄後,點擊下方確定按鈕,即可進入下載中心進行文件的下載。

「源碼學習」基於Netty的大文件斷點續傳開源解決方案

10.下載中心跟上傳中心一樣,支持斷點續傳

「源碼學習」基於Netty的大文件斷點續傳開源解決方案

如果你想了解更多有關該項目的技術實現細節,就點擊下方瞭解更多前往項目主頁看看吧。


分享到:


相關文章: