通过Java实现文件断点续传功能

作者:胡安民 时间:2022-06-22 16:30:42 

什么是断点续传

用户上传大文件,网络差点的需要历时数小时,万一线路中断,不具备断点续传的服务器就只能从头重传,而断点续传就是,允许用户从上传断线的地方继续传送,这样大大减少了用户的烦恼。

  • 解决上传大文件服务器内存不够的问题

  • 解决如果因为其他因素导致上传终止的问题,并且刷新浏览器后仍然能够续传,重启浏览器(关闭浏览器后再打开)仍然能够继续上传,重启电脑后仍然能够上传

  • 检测上传过程中因网络波动导致文件出现了内容丢失那么需要自动检测并且从新上传

解决方案

前端

  • 需要进行分割上传的文件

  • 需要对上传的分片文件进行指定文件序号

  • 需要监控上传进度,控制进度条

  • 上传完毕后需要发送合并请求

Blob 对象,操作文件

后端

  • 上传分片的接口

  • 合并分片的接口

  • 获取分片的接口

  • 其他工具方法,用于辅助

前端端需要注意的就是: 文件的切割,和进度条

后端需要注意的就是: 分片存储的地方和如何进行合并分片

效果演示

先找到需要上传的文件

通过Java实现文件断点续传功能

当我们开始上传进度条就会发生变化,当我们点击停止上传那么进度条就会停止

通过Java实现文件断点续传功能

我们后端会通过文件名+文件大小进行MD5生成对应的目录结果如下:

通过Java实现文件断点续传功能

当前端上传文件达到100%时候就会发送文件合并请求,然后我们后端这些分片都将被合并成一个文件

通过Java实现文件断点续传功能

通过下图可以看到所有分片都没有了,从而合并出来一个文件

通过Java实现文件断点续传功能

来源:https://blog.csdn.net/weixin_45203607/article/details/124663444

标签:Java,文件,断点续传
0
投稿

猜你喜欢

  • Spring Security+JWT简述(附源码)

    2022-10-16 11:57:51
  • 浅谈Java由于不当的执行顺序导致的死锁

    2022-08-05 22:05:33
  • sigsetjmp的用法总结

    2023-06-05 07:12:07
  • java冷知识:javac AbstractProcessor详解

    2022-08-01 19:32:09
  • Java异常处理中的一些特殊情况举例

    2021-10-11 20:31:54
  • Java使用JavaMail API发送和接收邮件的代码示例

    2022-09-02 01:15:51
  • Android高级组件ImageSwitcher图像切换器使用方法详解

    2023-11-07 13:18:19
  • 解决IntelliJ IDEA中鼠标拖动选择为矩形区域问题

    2022-04-03 21:08:51
  • Android应用中ListView利用OnScrollListener分页加载数据

    2021-11-06 16:01:04
  • Android自定义Toolbar使用方法详解

    2022-03-26 14:47:10
  • SpringBoot返回Json对象报错(返回对象为空{})

    2022-06-30 03:31:19
  • Java中使用开源库JSoup解析HTML文件实例

    2023-10-18 11:46:16
  • C#用RabbitMQ实现消息订阅与发布

    2022-09-05 16:23:40
  • IntelliJ IDEA(或者JetBrains PyCharm)中弹出"IntelliJ IDEA License Activation"的解决办法

    2021-12-11 09:39:10
  • 使用windows控制台调试服务的方法

    2023-08-19 03:34:30
  • C#实现加密exe文件

    2023-12-03 13:04:47
  • Java代理模式实例详解【静态代理与动态代理】

    2023-04-27 08:18:51
  • Android自定义ProgressBar实现漂亮的进度提示框

    2023-04-04 22:05:30
  • Java stream sorted使用 Comparator 进行多字段排序的方法

    2022-07-26 05:02:13
  • Spring Boot如何使用Spring Security进行安全控制

    2022-03-26 03:59:41
  • asp之家 软件编程 m.aspxhome.com