首页 > 其他分享 >2020-01-16

2020-01-16

时间:2024-10-08 20:35:03浏览次数:14  
标签:文件 01 hash 16 断点 2020 分片 服务器 上传

分片上传

关于大文件分片上传的一些思考

浏览器

创建文件 hash

  • 创建文件的 hash 值。
  • 提交上传文件基本数据和文件 hash 值。
  • 如果存在的话,忽略本次文件上传;并将该文件路径指向用户服务器存储空间中。

当文件不存在或上传一部分文件数据时,进入下一流程。

文件分片

  • 访问服务器获取文件分片最大值。
  • 通过循环切割文件,并创建每一个分片的 hash

文件上传

  • 根据首次与服务器通信结果,判断是否为断点上传
  • 如果是断点上传,判断断点位置,
  • 获取对应分片,以此分片为起点开始上传

进度条

  • 不论是断点还是首次上传文件,进度条为已传分片数除总分片数

服务器

检测文件 hash

数据库检测 hash 是否存在

存在

  • 将该文件与用户传入文件基本信息结合
  • 存入云空间
  • 通知前端,文件秒传成功

不存在或断点

  • 创建临时上传空间(存在时间为最后断点上传后的 24 个小时或上传成功后)
  • 用户云盘数据中写入临时上传信息(存在时间为最后断点上传后的 24 个小时或上传成功后)
  • 如果是断点之后续传,告知前端最后一个分片 hash

文件上传

  • 获取分片数据,存入临时上传空间
  • 上传所有分片,合并分片,创建文件 hash,与文件原 hash 比对
  • hash 不一致,告知用户上传失败
  • hash 确认无误,放入用户云盘中
  • 清理数据

标签:文件,01,hash,16,断点,2020,分片,服务器,上传
From: https://www.cnblogs.com/honghaitao/p/18452486

相关文章

  • 2018_10_21_03
    box-flex使用说明1.box-flex属性box-flex主要让子容器针对父容器的宽度按一定规则进行划分<acticle><section>01</section><section>02</section><section>03</section></acticle>acticle{display:box;display:-moz-box;display......
  • 2018_10_21_02
    border-style属性定义及使用说明border-style属性设置一个元素的四个边框的样式。此属性可以有一到四个值。border-style:dottedsoliddoubledashed;值描述dotted上边框是点状solid右边框是实线double下边框是双线dashed左边框是虚线border-style......
  • 2018_10_21_01
    1px边框问题7种方法解决移动端Retina屏幕1px边框问题在retina屏中实现1pxborder效果下文出自7种方法解决移动端Retina屏幕1px边框问题造成边框变粗的原因其实这个原因很简单,因为css中的1px并不等于移动设备的1px,这些由于不同的手机有不同的像素密度。在......
  • 2018_11_02_02
    原理数据类型window.onload=()=>{vartest1='abcdef';vartest2=123;vartest3=true;vartest4={};vartest5=[];vartest6;vartest7={abcdef:123};vartest8=['abcdef',123];functiontest9(){r......