2013-06-25 3 views
1

Я разрабатываю приложение iOS, которое загружает изображение (взятое из передней камеры или из галереи) на веб-сервер. Я не знаю, как отправить это изображение из iOS и как его получить в PHP. Незлая помощь.Загрузить изображение на веб-сервер PHP из iOS

+0

вы можете сохранить изображение в таблице базы данных после преобразования 'NSData' в поле BLOB на MySql –

+0

@NiravGadhiya Да у меня такие же мысли, но Я не мог найти полезный исходный код. –

+1

Я отправил решение на некоторое время назад. http://stackoverflow.com/questions/1266176/upload-file-to-ftp-server-on-iphone/1272889#1272889 – Dutchie432

ответ

7

Вы можете использовать фреймворк AFNetworking (https://github.com/AFNetworking/AFNetworking), это сэкономит вам много времени, и есть примеры того, как загружать изображения и обрабатывать ответы.

Вот пример загрузки файла из источника упоминалось выше:

NSURL *url = [NSURL URLWithString:@"http://api-base-url.com"]; 
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url]; 
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"avatar.jpg"], 0.5); 
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { 
    [formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"]; 
}]; 

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) { 
    NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite); 
}]; 
[httpClient enqueueHTTPRequestOperation:operation]; 
+0

Хороший ответ. – Dutchie432

+1

Ваш ответ полезен, но я не хочу использовать AFNetworking. –

+1

Можете ли вы отредактировать свой ответ для AFNetworking 2.0 –