- (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);
}];
}
网友评论