前言

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

思路分析

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

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

基于springboot断点续传或分片上传相关推荐

  1. 【vue】 前端 基于 vue-simple-uploader 实现大文件断点续传和分片上传

    文章目录 一.前言 二.后端部分 新建Maven 项目 后端 pom.xml 配置文件 application.yml HttpStatus.java AjaxResult.java CommonCo ...

  2. formdata上传文件_封装一个多文件断点续传、分片上传、秒传、重试机制的组件...

    本文为:多文件断点续传.分片上传.秒传.重试机制 的更新版,若想看初始版本的实现,请查看该文章. 凡是要知其然知其所以然 文件上传相信很多朋友都有遇到过,那或许你也遇到过当上传大文件时,上传时间较长, ...

  3. vue前端上传文件夹的插件_基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件...

    1. 前言 之前公司要在管理系统中做一个全局上传插件,即切换各个页面的时候,上传界面还在并且上传不会受到影响,这在vue这种spa框架面前并不是什么难题.然而后端大佬说我们要实现分片上传.秒传以及断点 ...

  4. springboot 大文件分片上传、断点续传和秒传

    目录 前置说明 获取文件分片 项目流程简述 关键代码解读 表设计SQL 接口测试 测试项目获取地址 前置说明 目前没弄前端,搁置后续再说.前端若打算使用element-ui的el-upload改造分片 ...

  5. dio 上传文件报错_Vue+Element UI实现断点续传、分片上传、秒传

    作者:Pseudo 转发链接:https://segmentfault.com/a/1190000023434864 凡是要知其然知其所以然 文件上传相信很多朋友都有遇到过,那或许你也遇到过当上传大文 ...

  6. 大文件上传最全方案:秒传、断点续传、分片上传

    前言 文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上 ...

  7. 如何实现大文件上传:秒传、断点续传、分片上传

    前言 文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上 ...

  8. html上传文件_.NET基于WebUploader大文件分片上传、断网续传、秒传

    (给DotNet加星标,提升.Net技能) 转自:学习中的苦与乐 cnblogs.com/xiongze520/p/10412693.html 现在的项目开发基本上都用到了上传文件功能,或图片,或文档 ...

  9. vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法

    首先,vue和阿里云oss上传图片结合参考了 这位朋友的 https://www.jianshu.com/p/645f63745abd 文章,成功的解决了我用阿里云oss上传图片前的一头雾水. 该大神 ...

最新文章

  1. Nature调查:6%中国科研人年薪超50万元!
  2. python爬虫百科-Python从概念上先了解爬虫
  3. C++ 11 中的POD
  4. 牛客练习赛75 D 减数游戏(队列优化(需要取模的)堆)
  5. 惠普打印机换硒鼓图解_惠普激光打印机硒鼓安装方法(图文)
  6. iTextSharp
  7. .net实现串口通信
  8. java 计算天数差_java中计算两个日期之间差的天数
  9. 【无线电】摩尔斯电码的快速记忆法
  10. 6个实用的 Python 自动化脚本,告别加班,你学会了吗?
  11. asp.net消除锯齿的办法
  12. 2021年7月国产数据库排行榜:openGauss高歌猛进,GBase持续下跌
  13. Day1ps设计基础作业第一章第二章
  14. 联通猫无线灯闪 不能连接服务器,光猫一直闪红灯不能上网是怎么回事 光猫闪红灯的解决方法...
  15. 云计算和云服务器分别表示什么?
  16. web前端的发展分析
  17. SSH远程登录报错 IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
  18. 关于Android项目中的Toast那些动画实现方式
  19. NOIP2021总结
  20. 4-20ma转 0-5V

热门文章

  1. phpstorm配置yaf代码自动补全提示
  2. mysql初始化主机名无法解析
  3. nyoj914Yougth的最大化(二分搜索 + 贪心)
  4. 题目7 街区最短路径问题
  5. AAA验证和ciscorescue v4.2 验证服务器的搭建(telnet方式和级别的设置)
  6. [转]XHTML+CSS兼容性解决方案小集
  7. 存储过程与触发器的应用
  8. OSSIM中快速部署HIDS
  9. Java线程间通信-回调的实现方式
  10. 新书上市《软件设计师考试考前冲刺预测卷及考点解析(最新版)》