请问第 2 步是否是这样做的? 1、首先计算整个文件的 md5,然后如果与已经上传的文件的 md5 如果相同,就跳过,直接用已经上传的文件。 2、然后一个大文件分成若干个分段,每个分段是否都得计算其 md5 ?待上传分段如果与已经上传的分段 md5 一致的话就跳过,也就是上次传完的分段不必再传。 不知是不是这样的?
1
sxcccc 2019-04-07 01:17:25 +08:00 via iPhone 1
为什么不用现成的框架呢
|
2
wunonglin 2019-04-07 01:18:44 +08:00 1
按理说每个分片都要校验,但具体还是看业务
借楼问一下楼下的大佬。。 第一步的时候,如果提交的 md5 值被篡改,传了一个别人一个文件的 md5 值(场景是我得不到文件,但是已经知道 md5 值)的情况下,服务器是不是还是将该 md5 匹配的文件分给我? |
3
choury 2019-04-07 08:47:38 +08:00 via Android 1
@wunonglin 参考百度网盘的做法,不仅要 md5,还需要提供文件一部分内容,比如最前面或者最后面 512 个字节
|
4
lizhuoli 2019-04-07 10:45:54 +08:00 via iPad 1
没有特殊定制需求,建议直接上成熟方案,比如 https://tus.io/
自己实现,除了服务端以外,至少三个客户端需要配合( iOS/Android/Web ),费时费力还容易踩坑 |
5
mamahaha OP @lizhuoli
感谢,强大到令人发指,这个不是上传以后再合并,是一边上传一边合并,试了一下视频可以一边上传一边播放,太强了。 |
6
jefferycai 2019-04-07 17:21:17 +08:00 1
七牛云的断点,了解下
|
7
my3157 2019-04-08 01:45:54 +08:00
@jefferycai #6 对象存储的 Multipart 一般是先分成小文件上传, 然后服务端合并, S3 七牛 阿里 OSS 都是这么实现的
|
8
smallgoogle 2019-04-08 02:58:06 +08:00
你大概差一个 WebUploader
|