使用AFMultipartFormData AFNetworking 3.0上传图像 [英] Image upload using AFMultipartFormData AFNetworking 3.0
问题描述
NSURL *URL = [NSURL URLWithString:@"some APi"];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
UIImage *myImageObj = [UIImage imageNamed:@"avatar.jpg"];
NSData *imageData= UIImagePNGRepresentation(myImageObj);
[manager POST:URL.absoluteString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData
name:@"file"
fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
// etc.
} progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"Response: %@", responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"Error: %@", error);
}];
我正在尝试使用afnetworking 3.0上传图片,但每次都会收到此错误
I am trying to upload image using afnetworking 3.0 but getting this error every time
Domain = com.alamofire.error.serialization.response代码= -1011请求
失败:内部服务器错误(500)
UserInfo = {com.alamofire.serialization.response.error.response = {URL:某些URL} {状态
代码:500,标题{
Access-Control-Allow-Origin = * ;
Content-Length = 291;
Content-Type =文本/ html;
Date =星期四,2017年1月26日11:41:19 GMT;
Server = Werkzeug / 0.11.11 Python / 2.7.12; }},
Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: internal server error (500)" UserInfo={com.alamofire.serialization.response.error.response= { URL: Some URL } { status code: 500, headers { "Access-Control-Allow-Origin" = "*"; "Content-Length" = 291; "Content-Type" = "text/html"; Date = "Thu, 26 Jan 2017 11:41:19 GMT"; Server = "Werkzeug/0.11.11 Python/2.7.12"; } },
推荐答案
幸运的是,邮递员提供了Objective-C和其他一些语言的代码,但使用了AFNetworking我用了这个
luckily postman provide objective-C and some other languages code but with AFNetworking i used this
NSURL *URL = [NSURL URLWithString:@"your URL"];
UIImage *myImageObj = [UIImage imageNamed:@"image.jpg"];
NSData *imageData= UIImageJPEGRepresentation(myImageObj, 0.6);
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//manager.responseSerializer=[AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
[manager POST:URL.absoluteString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData
name:@"file"
fileName:@"image.jpg" mimeType:@"image/jpeg"];
// etc.
} progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"Response: %@", responseObject);
NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"Error: %@", error);
}];
这篇关于使用AFMultipartFormData AFNetworking 3.0上传图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!