Получение UIImage из MySQL с использованием PHP и jSON

Я разрабатываю небольшой читатель новостей, который извлекает информацию с веб-сайта, выполняя запрос POST по URL-адресу. Ответ – это объект jSON с непрочитанными новостями.

Например, последние новости в приложении имеют отметку времени «2013-03-01». Когда пользователь обновляет таблицу, он POSTS «domain.com/api/api.php?newer-than=2013-03-01». Скрипт api.php отправляется в базу данных MySQL и извлекает все новости, опубликованные после 2013-03-01, и печатает их json_encoded. Это

// do something to get the data in an array echo $array_of_fetched_data; 

например, ответ будет [{"title": "new app is coming to the market", "text": "lorem ipsum dolor sit amet...", image: XXX}]

приложение затем получает ответ и анализирует его, получая NSDictionary и добавляет его в NSDictionary данных db.

  NSDictionary* obtainedNews = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; 

Мой вопрос: как добавить изображение в базу данных MySQL, сохранить его, передать его с помощью jSON через HTTP-запрос POST, а затем интерпретировать его как UIImage.

Понятно, что для хранения UIImage в CoreData они должны быть преобразованы в / из NSData. Как передать NSData туда и обратно в MySQL db, используя php и jSON? Как загрузить изображение в db? (Сериализованный, как BLOB и т. Д.)

Хотя вы можете base64 кодировать ваши изображения и вставлять их в свой выходной json …

То, что я сделал, когда я был в вашей ситуации, заключалось в том, чтобы включить ссылку url в это изображение вместо json-вывода и затем извлечь данные:

 NSString *image = @"http://img.ruphp.com/php/flower.png"; NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:image] options:NSDataReadingUncached error:&error]; // write the data down somewhere as to not fetch it all the time UIImage *uimage = [UIImage imageWithData:data]; 

Выполнение этого способа позволит вам просто обрабатывать изображение как нормальное изображение при загрузке, хранении и загрузке.