关于fastDFS断点续传的问题

************这个困扰了很久,一大半原因是前端分片的问题,因为用的是百度的webupload去分片,而官方团队在文档说明上简直让人无力吐槽,导致我们调试了很久.前端分片大小与后台保持一致,上传前获取文件MD5,然后分片后每次上传前都要获取分片的MD5,这些都是必传的参数(看实际需求,分片MD5其实可以省略但最好不省),后台就是接收一系列的参数和文件实体
注意:在使用fs的时候文件是一片一片append到上一个分片的尾巴上的,所以分片上传顺序不能乱(webupload默认支持有序),然后是fs的几个关键点
第一片
**NameUtil.getExtensionName(fileName)获取文件扩展名
**vars可有可无,
NameValuePair[] vars = new NameValuePair[]{new NameValuePair(“fileName”, fileName), new NameValuePair(“fileSize”, String.valueOf(size))};

****************第一片,一定要用upload_appender_file这个方法去接收,生成appender_file文件才能往里面添加(理解为上传的是一个不完整的文件,能修改的文件),返回的是group和M00…地址的数组,不带分组的地址(noGroupPath)后续要使用的.
其他分片
**offset默认0,这个参数貌似比较鸡肋
**************后续的分片都是用append_file方法去追加(往不带分组的地址里面追加),有的文章说要用modify_file方法去追加或者是防止重复上传分片要使用modify_file,但实际我使用了这个方法,文件下载下来不完整,最后一片缺失或者无效(我测试的视频,三片只有第一片能放,果断放弃这个方法),append_file目前来看,没有什么问题.

自己写demo的时候可以没有任何参数(参数一般实体用于持久化DB记录才会用),可以先用redis去记录分片
最后,fs应该是支持有序追加的,有些vue的前端分片技术是不支持有序的,例如simpleUpload…所以大家别瞎忙忙活儿.

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值