IOS AFNetworking3.0 通过表单上传多张图片
2016-08-04 17:54
471 查看
直接调用AF里面封装的上传图片方法
NSDictionary*dic =
@{@"name":@"22",@"count":@"123"};
这个dic字典里面放你除了图片的其它参数
这里的imgArray是储存图片的数组,这里体一下,上传的图片需要转成二进制的数据进行上传
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]
[manager POST:urlparameters:pareamesconstructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull
formData) {
for (id valuein imgArray) {
if ([value
isKindOfClass:[NSData
class]]) {//判断是否是二进制数据
[formData appendPartWithFileData:valuename:@"img"fileName:@"123.jpg"mimeType:@"image/png/jpg/jpeg"];
}else
if ([value isKindOfClass:[UIImageclass]]){//如果不是二进制数据进行转换
NSData *data = [selfscaleImgWithImage:value
Width:1080
DataBytes:200];//这个方法是自己写的压缩图片并转换
[formData appendPartWithFileData:dataname:@"img"fileName:@"123.jpg"mimeType:@"image/png/jpg/jpeg"];
}
}
} progress:^(NSProgress *_Nonnull uploadProgress) {
CGFloat progres = (CGFloat)uploadProgress.completedUnitCount / (CGFloat)uploadProgress.totalUnitCount;//这里是返回的上传图片进度,一定要用CGFloat进行接收
if (progress) {
progress(progres);
}
} success:^(NSURLSessionDataTask *_Nonnull task,
id _Nullable responseObject) {
@try {//这里的responseObject也是一个二进制的数据,需要转换一下
NSDictionary *dic = [selfdataHandle:responseObject];
if (result) {
result(dic);
}
}
@catch (NSException *exception) {
if (errors) {
errors(exception.reason);
}
}
@finally {
}
} failure:^(NSURLSessionDataTask *_Nullable task,
NSError *_Nonnull error) {
if (errors) {
errors(error.userInfo[@"NSLocalizedDescription"]);
}
}];
到这里就可以直接用这个方法了
NSDictionary*dic =
@{@"name":@"22",@"count":@"123"};
这个dic字典里面放你除了图片的其它参数
这里的imgArray是储存图片的数组,这里体一下,上传的图片需要转成二进制的数据进行上传
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]
[manager POST:urlparameters:pareamesconstructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull
formData) {
for (id valuein imgArray) {
if ([value
isKindOfClass:[NSData
class]]) {//判断是否是二进制数据
[formData appendPartWithFileData:valuename:@"img"fileName:@"123.jpg"mimeType:@"image/png/jpg/jpeg"];
}else
if ([value isKindOfClass:[UIImageclass]]){//如果不是二进制数据进行转换
NSData *data = [selfscaleImgWithImage:value
Width:1080
DataBytes:200];//这个方法是自己写的压缩图片并转换
[formData appendPartWithFileData:dataname:@"img"fileName:@"123.jpg"mimeType:@"image/png/jpg/jpeg"];
}
}
} progress:^(NSProgress *_Nonnull uploadProgress) {
CGFloat progres = (CGFloat)uploadProgress.completedUnitCount / (CGFloat)uploadProgress.totalUnitCount;//这里是返回的上传图片进度,一定要用CGFloat进行接收
if (progress) {
progress(progres);
}
} success:^(NSURLSessionDataTask *_Nonnull task,
id _Nullable responseObject) {
@try {//这里的responseObject也是一个二进制的数据,需要转换一下
NSDictionary *dic = [selfdataHandle:responseObject];
if (result) {
result(dic);
}
}
@catch (NSException *exception) {
if (errors) {
errors(exception.reason);
}
}
@finally {
}
} failure:^(NSURLSessionDataTask *_Nullable task,
NSError *_Nonnull error) {
if (errors) {
errors(error.userInfo[@"NSLocalizedDescription"]);
}
}];
到这里就可以直接用这个方法了
相关文章推荐
- iOS上传文件或base64(图片)之AFNetworking 3.0+上传文件上传图片
- iOS-AFNetworking3.0上传大量(1000张)图片到服务器
- iOS - AFNetworking之多图片/文件上传 表单提交 二进制流
- ios 上传多张图片总结——IOS网络访问之使用AFNetworking
- ios 上传多张图片总结——IOS网络访问之使用AFNetworking
- ios表单提交(多个参数)数据到服务器,上传图片AFNetWorking
- iOS AFNetworking 上传多张图片
- iOS 开发之--使用AFNetWorking3.1.0上传单张/多张图片
- iOS 使用AFNetworking实现多张图片上传
- iOS开发通过AFNetworking上传图片到服务器
- iOS上传文件(图片)之AFNetworking 3.0上传文件上传图片
- iOS开发 使用AFNetworking实现多张图片上传
- AFN 3.0 表单上传图片和文字 iOS 7.0的一些问题
- iOS通过http post上传图片
- 将一张IOS沙盒下的图片或是txt文件通过post请求上传服务器
- iOS通过http post上传图片 (转)
- 多张图片上传afnetworking
- iOS通过http post上传图片
- iOS 用ASIHTTPRequest框架 上传多张图片
- IOS上传多张图片(ASIHTTPRequest)