断点上传是将文件切割成小数据片段进行上传,并记录上传进度,当上传完毕后,服务端将上传的小文件片段进行合并的过程。
采用NSFileHandle对文件数据进行逐段读取上传
NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:model.filePath];
// 移动文件指针。CZTUploadFileFragmentSize 上传片段大小 如1M, index上传片段的索引
[handle seekToFileOffset:CZTUploadFileFragmentSize * index];
//读取数据指定大小的数据
NSData *blockData = [handle readDataOfLength:CZTUploadFileFragmentSize];
要与服务端研发人员约定好上传完毕规则,区分何时上传完毕,进行文件合并。
上传采用NSURLSession/AFN等,逐段上传。