斷點(diǎn)上傳是將文件切割成小數(shù)據(jù)片段進(jìn)行上傳直奋,并記錄上傳進(jìn)度,當(dāng)上傳完畢后仓技,服務(wù)端將上傳的小文件片段進(jìn)行合并的過(guò)程。
采用NSFileHandle對(duì)文件數(shù)據(jù)進(jìn)行逐段讀取上傳
NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:model.filePath];
// 移動(dòng)文件指針俗他。CZTUploadFileFragmentSize 上傳片段大小 如1M脖捻, index上傳片段的索引
[handle seekToFileOffset:CZTUploadFileFragmentSize * index];
//讀取數(shù)據(jù)指定大小的數(shù)據(jù)
NSData *blockData = [handle readDataOfLength:CZTUploadFileFragmentSize];
要與服務(wù)端研發(fā)人員約定好上傳完畢規(guī)則,區(qū)分何時(shí)上傳完畢兆衅,進(jìn)行文件合并郭变。
上傳采用NSURLSession/AFN等,逐段上傳涯保。