for(NSIntegerj =0; j
if(j == chunks || ((j == chunks -1)&&([file.fileArr[j]isEqualToString:@"finish"])))
[medeleteFile:file.filePath];
[mereadNextFile];
}
3)如果没有都finish,那么看本地下一chunk对用的flag是否是wait
NSLog(@"查看第%ld片的状态",chunk+1);
for(NSIntegeri = chunk+1;i < chunks;i++)
{
NSString* flag = [file.fileArrobjectAtIndex:i];
if([flagisEqualToString:@"wait"]) {
[mereadDataWithChunk:ifileName:fileNamefile:file];
break;
}
}
在第2、3步之间可以有一个 2.5)判断是否暂停上传
if(me.isPause ==YES)
{
//将目前读到了第几个文件的第几片保存到本地
[selfsaveProgressWithChunk:chunk file:file];
return;
}
这个操作实际上和上传过程中断网是一样的,为了断点续传,在断网或者暂停的时候,我们要将目前的进度保存起来,以便下次上传时略过前面已置finish的片。
然后还有一个问题,如果我们就这样线性的一片一片上传,实际上失去了分片上传的意义,应该结合多线程,使分片上传过程并发执行,同时上传多片,这样就提高了上传效率,并充分利用了网络带宽。
dispatch_async(dispatch_queue_t queue, ^{
[mereadDataWithChunk: chunk];
})
最后注意一下,每上传完一个视频,去设置里看看你的app占用的存储空间有没有增大哦,如果你没有处理那个生成的压缩视频,你会发现你的app的空间占用量是很大的。
总结
以上所述是小编给大家介绍的iOS大文件的分片上传和断点上传,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ASPKU网站的支持!
注:相关教程知识阅读请移步到IOS开发频道。










