当前位置: 首页 > news >正文

实现超大文件上传逻辑

引言

文件上传功能是我们开发中经常会遇到的功能点,当日常开发中遇到小文件(比如:头像),可以直接将文件转为字节流直接上传到服务器上即可。但是当遇到大文件这种(比如:一部电影至少1个G)该怎么上传?怎么快速上传?传到一半断了,如何规避从头再次上传?

接下来,我们看看怎么解决这些问题!

分片上传

我相信大家肯定都听过分片上传,下面我们具体看一下

什么是分片上传

分片上传,顾名思义就是将我们需要上传的文件,按照一定的规则(比如大小),将文件分割成不同的数据块(俗称的part)来进行分批量的上传,上传完成后,再交给服务端对所有上传完成的文件进行汇总,整合为我们原来的的初始文件。

使用场景

  1. 较大文件上传
  2. 网络环境不太稳定,可能会有断网,重新上传的风险存在的情况下

断电续传

断点续传我们相信大家肯定不陌生,我们之前经常用的迅雷、电驴这些都会有断点续传的功能

什么是断电续传

断点续传,顾名思义就是在上传或者下载的时候,将上传或下载任务(一个压缩包或者文件),通过程序划分为几个部分,每一个部分采用一个线程进行下载或者上传,如果遇到了网络故障的情况,可以从已经上传或者下载的部分开始继续接着上传或下载没有完成的内容,从而避免从头开始上传或者下载。

使用场景

短短续传起始就是分片上传你的一个分支,所以他和分片上传使用的场景是一致的

实现步骤

  1. 将需要上传的文件按照事先约定的规则分割,分割成大小相同的数据库
  2. 初始化一个上传任务,返回上传分片的唯一标识
  3. 按照一定的策略发送各个分片数据块
  4. 发送完成后,服务端程序根据判断数据上传的完成状态,进行数据合并。

好了,今天关于实现超大文件上传逻辑就讲解到这里,欢迎大家留言交流

也欢迎大家关注我的公众号《coder练习生》

http://www.lryc.cn/news/4944.html

相关文章:

  • JavaScript HTML DOM EventListener
  • 构建RFID系统的重要组成部分
  • PID控制算法简介
  • 【王道数据结构】第八章 | 排序
  • 95后外贸SOHO,年入7位数,他究竟是怎么做的?
  • 2023年全国最新消防设施操作员精选真题及答案
  • mysql 无需修改配置文件,即可改变表数据存储位置
  • 轻松解决Session-Cookie 鉴权(含坑)附代码
  • pyinstaller使用详细
  • java -数据结构,List相关基础知识,ArrayList的基本使用,泛型的简单、包装类介绍
  • RabbitMQ学习总结(10)—— RabbitMQ如何保证消息的可靠性
  • 购物车案例【版本为vue3】
  • Multisim14 安装包及安装教程
  • Java实现简单的图书管理系统源码+论文
  • 前端调试2
  • AlphaFold 2 处理蛋白质折叠问题
  • 问卷调查会遇到哪些问题?怎么解决?
  • 量化选股——基于动量因子的行业风格轮动策略(第1部分—因子测算)
  • 工作常用git命令
  • test3
  • 领证啦,立抵3600,软考证书到手后还有很多作用
  • 响应式布局之viewport-超级简单
  • 分布式计算考试资料
  • Java修饰符和运算符,超详细整理,适合新手入门
  • 软件功能测试包含了哪些测试项目?功能测试报告收费标准
  • Netty 学习笔记——概念篇
  • 元宇宙开始告别以资本为主导的野蛮生长,新的竞争格局和态势将形成
  • MySQL 5:MySQL视图
  • 中国干细胞医疗行业市场规模及未来发展趋势
  • SpringBoot日志文件