2016-11-30 57 views
0

我有要求将图像传递到Web服务。我正在使用AFNetworking。我的代码到目前为止在下面给出。解析图像扔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) 

有人能说出这段代码有什么问题吗?谢谢

+0

您正在添加图像两次?一个在参数和多部分?这两个时间使用不同的密钥? – Wolverine

+0

哪一个会在这里工作?参数还是多部分?你能为此建议一种方法吗? @Wolverine – Ramanan

+0

Multipart将工作。从参数中删除。 – Wolverine

回答

0

用于从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); 
    }]; 

希望这解决了您的问题。