基于springboot断点续传或分片上传

 2023-09-15 阅读 24 评论 0

摘要:前言 在做文件上传,尤其是大文件上传过程中,比如大视频等,经常会碰到这么一种情况,就是用户希望这一次没有上传完,或者中途因为网络原因上传失败了,下一次继续上传的时候可以接着上次没有传完的地方继续上传,这样既可以保证上传的进度,又不用重新上传,避免耗时的等待

前言

在做文件上传,尤其是大文件上传过程中,比如大视频等,经常会碰到这么一种情况,就是用户希望这一次没有上传完,或者中途因为网络原因上传失败了,下一次继续上传的时候可以接着上次没有传完的地方继续上传,这样既可以保证上传的进度,又不用重新上传,避免耗时的等待,这个需求该怎么实现呢?

思路分析

大体来说,可以分为下面几步进行思考

  • 对于前端页面来说,考虑到一次上传大文件后端可能承受不住压力,就需要将文件进行分段或分片,比如用户一次上传100MB的文件,前端可以将文件拆分为10份上传,每份10MB,则分片数=10MB,每一片大小为10MB
  • 考虑中途会中断的场景,前端页面如果继续发起请求上传,为了能继续上一次的地方进行上传,需要知道是否同一个文件?以及本次继续上传时的分片位置?
  • 基于第二条的考虑,需要在上传之前,手动调用一下后台接口,确认下是否执行本次上传
  • 对后台来说,需要指定上传的文件路径
  • 对于前端传过来的文件,可以根据分片大小以及索引进行文件的区分,如果某一次上传完毕,下一次再次上传时,只需根据索引找到对应的文件即可,怎么找这个文件?怎么知道再次过来的文件就是上一次的那个文件?(可以通过数据库进行相关字段的记录,比如为每个上传的文件生成一个唯一的fileKey)

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/62838.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息