请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

分片合并单元测试

  1. 前端并发发起“分片上传”请求后,为什么还要发送一个“合并请求”?
  2. 前端还要等待后端分片都完成吗? 那么分片并发上传+等待合并文件的时间与单文件上传应该没太大差别吧, 好处可能就是可以部分重传/断点续传吧
  3. 分片下标从1开始是出于什么考虑,哪些场景可能有问题,如果为0? 是因为数据库中分片下标默认值为0吗?

正在回答 回答被采纳积分+3

1回答

RubinChu 2023-11-16 16:22:16

因为上传分片和触发合并是两个步骤哈

单线程上传大文件和分片上传大文件的效率是差很多的哈

这个是因为OSS的分片上传下标从1开始的,所以就定义了所以的下标从1开始哈

0 回复 有任何疑惑可以回复我~
  • 提问者 Alexdon #1
    这个合并动作,其实后端是可以自己触发的吧. 就是记录一下文件的分片总数totalChunks, 当与物理文件关联的分片文件记录的行数与totalChunks相等时, 就可以触发了吧.
    回复 有任何疑惑可以回复我~ 2023-11-16 18:31:28
  • RubinChu 回复 提问者 Alexdon #2
    可以的哈
    回复 有任何疑惑可以回复我~ 2023-11-16 18:41:19
  • 提问者 Alexdon #3
    > 单线程上传大文件和分片上传大文件的效率是差很多的哈
    
    即便前端并发上传各个分片, 但是最后前端还要发送一次“合并分片”的请求, 这个请求会等到后端合并文件后再返回, 因为合并请求的存在, 我认为与单文件上传的效率差不多, 如果去掉最后发送的“合并分片”请求, 那么上传效率提升明显
    
    其实分片计划是前端做的, 有几个分片, 每个分片发送后通过回调前端是可以知道哪个分片成功,哪个分片没成功,当所有分片都成功,前端就可以认为上传完成了. 不用再发送合并请求了, 后端自己取合并.
    
    我记得百度云上传完视频文件, 立即点击视频是无法查看的, 而是提示“转码”中, 得等一段时间才能看到一部分内容, 大部分内容, 最后是全部内容.
    回复 有任何疑惑可以回复我~ 2023-11-16 19:12:30
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信