直接干貨
+ (void)postWithImage:(UIImage *)Image Url:(NSString *)url params:(NSDictionary *)params successBlock:(void(^)(id responseObject))completion Failure:(Failure)failureBlock{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSMutableSet *set = [NSMutableSet setWithSet:manager.responseSerializer.acceptableContentTypes];
[set addObject:@"text/html"];
manager.responseSerializer.acceptableContentTypes = set;
manager.requestSerializer.timeoutInterval = 8;
NSString *urlString = [NSString stringWithFormat:@"%@%@",BASE_URL,url];//服務器的url
[manager POST:urlString parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFileData:UIImageJPEGRepresentation(Image, 0.1) name:@"pic" fileName:@"image.jpeg" mimeType:@"image/jpeg"]; //這兒如果是需要保證圖片的質量,那么就用UIImagePNGRepresentation(Image) 但是這樣的時間可能要慢一些 對圖片的要求不高就用UIImageJPEGRepresentation(Image, 0.1) 0.1 表示壓縮的程度
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//成功block
if (completion) {
completion(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//失敗block
if (failureBlock) {
failureBlock(error);
}
}];
}