У меня есть простой вопрос: в настоящее время я пишу определенную часть своего приложения, связанную с отправкой данных на сервер.Отправка UIImage и текста на сервер
Я попытался отправить текст, преуспел. Отправлено изображение. Теперь я пытаюсь отправить их в течение одного запроса POST. Я понял, что мне нужно использовать что-то, что называется multipart/form-data и границ, но я больше не нашел об этом информации.
Так как я могу отправить и текст и изображение в один простой запрос POST? И как я могу проверить ошибки во время загрузки, потом и т. Д.?
Спасибо!
Reference код, который я написал, но отправка 0 байт информации:
NSData *imageData = UIImageJPEGRepresentation(sendImage, 1.0);
// setting up the request object now
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://posttestserver.com/post.php?dir=something"]];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"---------------------------54737809831466490885746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"rn--%@rn",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Disposition: form-data; name=\"userfile\"; filename=\"reportingImage.jpg\"rn" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-streamrnrn" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"rn--%@--rn",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: text/xml" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[[alertView textFieldAtIndex:0] text] dataUsingEncoding:NSUTF8StringEncoding]];
// setting the body of the post to the reqeust
[request setHTTPBody:body];
// now lets make the connection to the web
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(returnString);
попробовать это http://stackoverflow.com/questions/14598044/how-to-send-image-and-text-toget ее-использование-nsmutableurlrequest – Buntylm
код в этом ответе работал, огромное спасибо! –
Я также даю то же самое в ответе. – Buntylm