AFNetworking 上傳圖片

直接干貨

+ (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);
        }
    }];
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容