时间:2021-07-01 10:21:17 帮助过:3人阅读
思路:可以在每个小块文件数据前面加几个标识,标识它们是同一个文件,最好固定长度,可以生成uuid
碎片文件名要有唯一??。
例如 格式
uid: 文件唯一id??
num: 此文件的碎片?量
curr: ?前碎片的序?
uid_num_curr
例如:10000_10_01
呵呵,楼上的能解决 两个人上传同名文件时,就会产生分不清楚刚上传的文件块是属于谁的尴尬。 的问题吗?显然是不能的!
分块上传和分块下载原理是一样的。数据源方都必须提供一个记录有:文件名、文件长度、每块的次序、标识、长度、验证信息等与检查数据完整性和拼装相关的数据块,通常接收方是以文件形式保存和使用的
而在分块传输的数据块前面也需要加入标识该块的信息,接收方分离出该信息并与信息文件对比无误后,方可组装数据文件
另外 拼接文件是通过在文件尾追加的形式实现的 也是错误的
由于 http 的无状态性,你并不能保证有序发送的一系列文件被有序的接收
拼接文件应是在以读写方式打开(rb+)的文件中,从指定的偏移处写