看到简书某大神的上传方法,记录一下,以防忘记
NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"sensitive"]=false;
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer.timeoutInterval = 20; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain", @"multipart/form-data", @"application/json", @"text/html", @"image/jpeg", @"image/png", @"image/jpg", @"application/octet-stream", @"text/json", nil];
// 在parameters里存放照片以外的对象 [managerPOST:@"http://atell.awei.org/images/upload/binary" parameters:params constructingBodyWithBlock:^(id _Nonnull formData) {
// formData: 专门用于拼接需要上传的数据,在此位置生成一个要上传的数据体
// 这里的photoArray是存放图片的数组
for(int i =0; i < self.photoArray.count; i++)
{ UIImage*image =self.photoArray[i];
NSData*imageData =UIImageJPEGRepresentation(image,0.5);
// 在网络开发中,上传文件时,是文件不允许被覆盖,文件重名
// 要解决此问题,
// 可以在上传时使用当前的系统时间作为文件名
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 设置时间格式
[formattersetDateFormat:@"yyyyMMddHHmmss"];
NSString*dateString = [formatterstringFromDate:[NSDatedate]];
NSString*fileName = [NSString stringWithFormat:@"%@-%d.jpg", dateString,i];
DLog(@"-----7777-----\n%@",fileName );
/*
*该方法的参数
1. appendPartWithFileData:要上传的照片[二进制流]
2. name:对应网站上处理文件的字段-----此字段非常重要,不然会上传失败,应与后台约定好
3. fileName:要保存在服务器上的文件名-----一般无所谓
4. mimeType:上传的文件的类型*/
[formDataappendPartWithFileData:imageDataname:[NSStringstringWithFormat:@"file"]fileName:fileNamemimeType:@"image/jpg"];
}
}progress:^(NSProgress*_NonnulluploadProgress) {
DLog(@"---上传进度--- %@",uploadProgress);
}success:^(NSURLSessionDataTask*_Nonnulltask,id _NullableresponseObject) {
DLog(@"```上传成功111111-----");
}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {
DLog(@"xxx上传失败xxx %@", error);
}];
AFNetworking3.0上传图片
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 背景:在上一个项目版本中一直使用AFNetworking2.0这个主流的网络请求库,AFHTTPRequestOp...
- 1.利用AFNetworking 3.0 进行图片上传时经常遇到一些未知的坑,导致与后台联调耗费很多时间既然踩过坑...