解析图像抛出 AFNetworking
Posted
技术标签:
【中文标题】解析图像抛出 AFNetworking【英文标题】:parse image threw AFNetworking 【发布时间】:2016-11-30 11:33:36 【问题描述】:我需要将图像传递到 Web 服务。我正在使用 AFNetworking。到目前为止,我的代码如下所示。
NSData *imageData = UIImageJPEGRepresentation(_imgA.image, 0.5);
params = @@"category":self.displayDept.text,
@"location": locationAdress.text,
@"topic":self.topic.text,
@"image":imageData,
@"email":[NSString stringWithFormat:@"%@",useEmail]
;
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager POST:@"webservice....."
parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
[formData appendPartWithFormData:imageData name:@"imageData"];
success:^(NSURLSessionTask *task, id responseObject)
谁能告诉我这段代码有什么问题?谢谢
【问题讨论】:
您要添加两次图像??一个参数和多部分?并且两次都使用不同的键? 哪一个在这里工作?参数或多部分?你能建议一个方法吗? @金刚狼 Multipart 可以工作。从参数中删除。 当我删除参数时,显示错误“JSON 文本没有以数组或对象开头,并且允许未设置片段的选项。” UserInfo=NSDebugDescription=JSON 文本不以数组或对象开头,并且允许未设置片段的选项" @Wolverine 【参考方案1】:用于从 pickercontroller 获取图像并将图像上传到服务器。
UIImage *img = [info valueForKey:UIImagePickerControllerOriginalImage];
NSData *imgData = UIImageJPEGRepresentation(image, 0.5);
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @@"foo": @"bar";
[manager POST:@"<json link>" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
[formData appendPartWithFormData:imgData name:@"image"];
success:^(AFHTTPRequestOperation *operation, id responseObject)
NSLog(@"Success: %@", responseObject);
failure:^(AFHTTPRequestOperation *operation, NSError *error)
NSLog(@"Error: %@", error);
];
希望这能解决您的问题。
【讨论】:
以上是关于解析图像抛出 AFNetworking的主要内容,如果未能解决你的问题,请参考以下文章