Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Загрузить данные на сервер iPhone

Автор вопроса: pmkОтветов: 2

Я хочу разработать приложение для iPhone, которое позволяет пользователю делать и сохранять фотографии в приложении. Кроме того, пользователю разрешено загружать изображение на сервер только в том случае, если введены такие данные, как "название", "местоположение" и "дополнительная информация".

Если это сделано, изображение и принадлежащие ему данные должны быть загружены на мой веб-сервер.

Я уже создал приложение, которое извлекает данные с сервера, поэтому создание соединения не будет проблемой.

Поскольку я новичок в веб-серверах, мой вопрос заключается в том, как лучше всего загружать изображения в сочетании с пользовательской информацией?

Что было бы хорошим способом хранения изображений и принадлежащей им информации? Я предполагаю, что это будет база данных MySQL для информации (название, местоположение, дополнительная информация, ссылка на изображение), а как насчет изображений? Где я могу прочитать об обработке файлов на веб-серверах?

заранее спасибо

  • Это много разных вопросов, и ответы зависят от многих других вещей, таких как масштаб, ваш опыт, бюджет, проблемы безопасности ... если вы разберете это и зададите более конкретные вопросы, люди могут помочь вам здесь. Ali 01.03.2012

iphoneobjective-cwebserverfile-handling

Ответы

Ответ 1 · рейтинг 1 · bdparrish

Вы должны создать API на веб-сервере, с которым iPhone может связаться для отправки данных POST на ваш веб-сервер. Вы можете просто создать файл NSURLConnection, чтобы создать пакет для отправки данных с iPhone приложение.

Внутри NSURLConnection вы можете указать, что это пакет POST, а затем добавить данные в тело запроса. Данные вашего изображения должны быть преобразованы в UTF8 и сохранены как nvarchar или что-то в этом роде в вашей базе данных.

Поймите, это обзор того, что вам нужно делать, без знания вашей внутренней работы веб-приложения я не могу дать вам конкретику.

Ответ 2 · рейтинг 1 · Ian L

Я бы предложил преобразовать изображение в его представление base64, а затем вы можете опубликовать это в вызове веб-службы.

Во-первых, преобразуйте UIImage в NSData, используя:

UIImage *img = [UIImage imageNamed:@"MyImage.png"];
NSData *imgData = UIImageJPEGRepresentation(img, 1.0);

Затем вы можете преобразовать это в строку в кодировке base64, используя некоторые полезные классы, созданные Мэттом Галлахером - см. это сообщение здесь. В коде, доступном для загрузки, есть класс NSData+Base64, который позволит вам преобразовать данные в строку:

NSString *imgBase64 = [imgData base64EncodedString];

Получив эту строку, вы можете отправить ее на сервер и либо сохранить строку, либо декодировать ее и сохранить на сервере в виде файла изображения. Вы должны быть в состоянии найти пример того, как это сделать, используя выбранную вами технологию.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы