【问题标题】:parse image threw AFNetworking解析图像抛出 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

标签: ios objective-c json afnetworking


【解决方案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);
    }];

希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    相关资源
    最近更新 更多