2014-03-04 41 views
0

我试图将图片上传到服务器,但我遇到了问题。下面是我的代码:AFNetworking上传图片错误

UIImage *image = [UIImage imageNamed:@"profileImage.png"]; 

NSData *imageData = UIImagePNGRepresentation(image); 

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
[manager POST:@"http://myserver.com/upload_img.php?&user_id=6&image=image.png" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData){ 
    [formData appendPartWithFileData:imageData name:@"image" fileName:@"image.png" mimeType:@"image/png"]; 
} 

    success:^(AFHTTPRequestOperation *operation, id responseObject){ 
    NSLog(@"Success: %@", responseObject); 
} 

     failure:^(AFHTTPRequestOperation *operation, NSError *error){ 
    NSLog(@"Error: %@", error); 
}]; 

我收到“成功:{错误=‘’;}”从的NSLog,但服务器没有更新。我究竟做错了什么?

编辑

好,图像被正确上传,但是我们不得不使用GET而不是POST的服务器上检索图像。为什么会这样?

+0

我想你需要调试服务器来弄清楚发生了什么事情。 –

回答

0

试试这个

UIImage *image = [UIImage imageNamed:@"profileImage.png"]; 
     NSData *imageData = UIImageJPEGRepresentation(image, 0.5); 
     AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    [manager POST:@"http://myserver.com/upload_img.php?&user_id=6&image=image.png" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData){ 

    } 
    { 
      [formData appendPartWithFileData:imageData name:@"image" fileName:@"image.png" mimeType:@"image/png"]; 
     } success:^(AFHTTPRequestOperation *operation, id responseObject) { 
      NSLog(@"Success: %@", responseObject); 
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
      NSLog(@"Error: %@", error); 
     }]; 
0

固定!通过POST调用,我需要设置正确的参数:@{user_id:@6}。现在工作很好!