2014-01-19 108 views
0

我需要通過HTTP發送圖片到服務器,但是我收到來自服務器的響應,說我使用POST + GET。任何想法我做錯了什麼?這是我的代碼。比的請求參數 單個請求的最大數目(GET加POST)iOS通過HTTP POST將圖片發送到服務器

- (void)sendMessagesWithImg 
{ 
    NSMutableData *body = [NSMutableData data]; 

    UIImage *imgColor = [UIImage imageNamed:@"imgbar.png"]; 



     UIImage * imageToPost = [[UIImage alloc] init]; 

     imageToPost = [self convertImageToGrayScale:imgColor]; 

     // add image data 
     NSData *imageData = UIImageJPEGRepresentation(imageToPost, 1.0); 
     if (imageData) { 

      [body appendData:imageData]; 

     } 

    [imgView setImage:imageToPost]; 

    [body appendData:imageData]; 


     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"URL"]]; 
    [request setHTTPBody:body]; 
    [request setHTTPMethod:@"POST"]; 

    NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
    [conn start]; 
} 

服務器響應

更多([512])進行檢測。

回答

0

您將imageData追加兩次。刪除第二個。

[body appendData:imageData]; 

在任何情況下嘗試也與此:

// set the content-length 
NSString *postLength = [NSString stringWithFormat:@"%d", [body length]]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 

和閱讀本post..you有可能附加其他參數:

ios Upload Image and Text using HTTP POST

+0

Thanks.I固定的,但我仍然得到錯誤。你看到的其他錯誤? – user2067051

+0

請參閱上面的編輯 –

相關問題