图片上传时必要将图片进行压缩,不然会上传失败
1.单张图上传
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) { //使用日期生成图片名称 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @ "yyyy-MM-dd HH:mm:ss" ; NSString *fileName = [NSString stringWithFormat:@ "%@.png" ,[formatter stringFromDate:[NSDate date]]]; [formData appendPartWithFileData:imageData name:@ "uploadFile" fileName:fileName mimeType:@ "image/png" ]; } success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) { //上传图片成功执行回调 completion(responseObject,nil); } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) { //上传图片失败执行回调 completion(nil,error); }]; |
2.多图上传
多图上传和单图上传区别在于文件名称
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) { NSInteger imgCount = 0; for (NSData *imageData in imageDatas) { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @ "yyyy-MM-dd HH:mm:ss:SSS" ; NSString *fileName = [NSString stringWithFormat:@ "%@%@.png" ,[formatter stringFromDate:[NSDate date]],@(imgCount)]; [formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@ "uploadFile%@" ,@(imgCount)] fileName:fileName mimeType:@ "image/png" ]; imgCount++; } } success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) { completion(responseObject,nil); } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) { completion(nil,error); }]; |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.jianshu.com/p/0e28fdef0f91