记录一下iOS中多张图片上传的方法
1.没有顺序要求
// 循环遍历,直接使用AFN上传
for(UIImage *img in imageList) {
NSData *imageData = UIImageJPEGRepresentation(image, 0.8);
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
// 与服务器约定数据传输格式
[manager.requestSerializer setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
if (isLogin) {
// 请求头header 添加验证信息
// 此处使用用户登录token
[manager.requestSerializer setValue:[[NSUserDefaults standardUserDefaults]valueForKey:@"token"] forHTTPHeaderField:@"Authorization"];
}
manager.requestSerializer.timeoutInterval = 60.0f;
//发送请求
[manager POST:URLString parameters:parameters headers:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFileData:imageData name:@"file" fileName:@"png" mimeType:@"png"];
}
progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
id jsons = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
......
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
[self toastTips:@"没有网络"];
if (failure) {
failure(error);
}
}];
}
2.有序的上传
2.1 一张一张传(效率不高)
//