- (void)upLoadSigleImage:(UIImage*) image completion:(void (^)(BOOL isSuccess))completion{
if (!image){
return;
};
// //1.创建管理者对象
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager.requestSerializer setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
NSString *urlString = @"上传的网址";
NSData *imageData = UIImageJPEGRepresentation(image, 0.7);
//post请求
[manager POST:urlString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDate date]];
NSString *fileName = [NSString stringWithFormat:@"%@.png", str];
/*
此方法参数
1. 要上传的[二进制数据]
2. 我这里的imgFile是对应后台给你url里面的图片参数,别瞎带。
3. 要保存在服务器上的[文件名]
4. 上传文件的[mimeType]
*/
[formData appendPartWithFileData:imageData name:@"mfile" fileName:fileName mimeType:@"image/jpeg"];
} progress:^(NSProgress * _Nonnull uploadProgress) {
float progress = 1.0 * uploadProgress.completedUnitCount/uploadProgress.totalUnitCount;
NSLog(@"上传进度%f",progress);
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSString *errmsg = [responseObject objectForKey:@"errmsg"];
NSString *mediaID = [responseObject objectForKey:@"mediaid"];
if (mediaID && [errmsg isEqualToString:@"ok"]) {
NSLog(@"上传成功");
completion(YES);
}else{
completion(NO);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"请求失败:%@",error);
completion(NO);
}];
}
AFN单张图片上传
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 利用AFN封装上传多张图片方法,并压缩图片体积 对您有用的话,可否关注下本人?以此激励我和您的共同提高,谢谢了. ...
- 最近在做一个多张图片上传及图片展示功能,在这期间,碰到了几个坑,现在已经解决了,为了避免各位再走类似的坑,...