2014-01-19 4 views
0

Мне нужно отправить pic на сервер по HTTP-сообщению, но я получаю ответ от сервера, говоря, что я использовал POST + GET. Любые идеи, что я сделал не так? Вот мой код.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]; 
} 

Ответ сервера

Более максимального числа параметров запроса (GET плюс POST) для одного запроса ([512]) были обнаружены.

ответ

0

Вы добавляете изображениеДата два раза. Удалите второе.

[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

см. Изменение выше –

Смежные вопросы