AFNetworking
AFNetworking是iOS常用的网络开发库,用起来很方便,满足大多数公司的需求,地址是:https://github.com/AFNetworking/AFNetworking
分片上传必要性
大家很多人都做过下载类的断点续传,下载也是因为大文件下载时间长,容易中断的情况。分片也是为了提高大文件上传体验而产生的。一个文件比如2G,我们一片0.1G ,就分成了20片,一片一片上传,假设中途第10片上传失败,我们下次只需要从第十片的位置开始上传就可以,等上传结束,服务器就会拼接20片的数据,还原文件。下面贴出来核心代码,大家可以根据需要修改成适合自己的代码:
分片
- (void)uploadMusic:(NSString *)filePath success:(void (^)(NSString *path))success failure:(void (^)(NSError *error))failure{
NSString *mp3Md5 = [WeLineUtil getFileMD5Code:filePath];
int chunk = 0;
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
long long fileSize = [[fileHandle availableData] length];
int blockLength = 500 * 1024;
int chunks;
if (fileSize % blockLength == 0) {
chunks = (int) fileSize / blockLength;
}else {
chunks