乐趣区

关于java:源码学习基于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

2. 左上角的圆角加号能够创立根目录

3. 每个目录左边的加号能够创立该目录的子目录

4. 点击目录,能够显示该目录下曾经上传胜利的文件

5. 点击文件上传按钮,弹窗显示本机系统的目录和文件架构

6. 选中某个文件,点击下方确定按钮即可对该文件进行分块传输,同时反对多文件上传(当然了这是要看服务器和本机性能配置是否给力)

7. 上传核心反对断点续传, 即点击暂停,暂停后可点击持续或勾销上传

8. 文件上传胜利后会刷新文件列表

9. 文件列表的每个文件的下载按钮会弹出抉择要下载到本机指定目录。选中目录后,点击下方确定按钮,即可进入下载核心进行文件的下载。

10. 下载核心跟上传核心一样,反对断点续传

如果你想理解更多无关该项目标技术实现细节,就点击前面的链接返回我的项目主页看看吧:https://gitee.com/gaojunjie03/fileex

退出移动版