У меня возникли проблемы с получением некоторого кода, который я приобрел, мой опыт работы с php/html в лучшем случае ограничен, поэтому я надеюсь, что не слишком много нуба, спрашивая об этом.Загрузка изображения на веб-сервер с помощью xcode и php
Проблема, с которой я сталкиваюсь, не может загрузить небольшое изображение на веб-сервер. Я играл со следующим за последние 4-5 часов, это почти 2 утра здесь, в Великобритании и единственный прогресс я сделал было изменение
[NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
в
[NSString stringWithFormat:@"enctype=\"multipart/form-data\"; boundary=%@",boundary];
Это получает мой Сервер, чтобы перестать давать внутреннюю ошибку каждый раз, когда я что-то посылаю.
код ниже, он находится на нескольких страницах этого сайта, и я не могу найти оригинального автора, чтобы отдать кредит. В настоящее время я получаю пустой массив, когда у меня есть print_r($_FILES);
в принимающем php-файле.
Любая помощь, которая когда-либо была бы оценена по весу, заблаговременно.
NSString *urlString = @"http://mysite/upload_image.php";
UIImage * img = [UIImage imageNamed:@"mypic.png"];
NSData *imageData = UIImageJPEGRepresentation(img, 90);
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"enctype=\"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:[@"Content-Disposition: attachment; name=\"image\"; filename=\"davesfile.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"%@",returnString);
Вы понятия не имеете, какая именно помощь. Большое вам спасибо за быстрый и всеобъемлющий ответ. Несколько моментов, касающихся ваших комментариев; 1. Я никогда не использовал AFNetworking, приложение, которое я разрабатываю, в основном запускает json-данные на сервер и с сервера, и до сих пор это было довольно просто, его только сейчас, когда изображение связано с тем, что я застрял, я буду конечно, посмотрите, когда проект закончился. 2. Спасибо за подсказку по типу MIME, я буду использовать это в будущем –
3. Не беспокойтесь о асинхронной стороне вещей, одна из моих самых больших ненависти - это невосприимчивые приложения, поэтому я всегда их использую, я буду Положите это, как только вещь будет работать, КОТОРАЯ НЕТ! Спасибо Еще раз, если бы я был где-то рядом с Нью-Йорком, я бы купил тебе выпить :) –
@Rob, отличный ответ. Только то, что я искал. – manderson