Я занимаюсь разработкой приложения, которое отправляет данные в веб-сервис. Переданные данные используют https-сообщения методом POST.
На стороне сервера в PHP я написал код, который принимает данные из сообщения POST (пока данные являются строкой),
используя технику следующим образом.
$servercall = $_POST['servercall'];
Проблема, которую я сейчас нашел, заключается в том, как мне читать данные, когда я передаю multipart / form-data.
В target-c я создаю сообщение http следующим образом.
NSURL *url = [NSURL URLWithString:@"<ADDRESS>"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"gc0p4Jq0M2Yt08jU534c0p";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"photo\"; filename=\"%@.jpg\"\r\n", @"teacherimage"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:Array.picture]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"message\"\r\n\r\n%@", postSTRING] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
Как прочитать фотографию и текстовую строку в сообщении http в PHP? Я даже не знаю технику для меня в Google.
Если это имеет какое-либо значение, все данные сохраняются в базе данных SQL.
Спасибо
Я не знаю Objective-C, но php имеет массив $ _FILES, где вы можете найти файлы через формы. Извините, если мой ответ не имеет смысла, я никогда не использовал цель-c и не планировал его использовать. Попробуй использовать var_dump($_FILES)
, Вам не нужно определять / объявлять это, потому что это php суперглобальный.
Других решений пока нет …