Загрузить данные изображения на веб-сервер с камеры Android - PullRequest
1 голос
/ 28 февраля 2011

Вот что я пытаюсь сделать:

После того, как пользователь делает снимок с помощью камеры Android, я хочу сохранить изображение в моем веб-приложении Ruby on Rails (например, PicPlz или Instagram)

Подход 1: После того, как пользователь сделает снимок, преобразуйте байтовый массив и сохраните его в формате .jpeg на телефоне.Затем загрузите файл изображения на сервер с помощью пост-запроса ( Ссылка здесь )

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

Вопрос: Какой подход быстрее и эффективнее?

Я также открыт для предложений подругие подходы.Спасибо за ваше время и помощь:)

Ответы [ 2 ]

0 голосов
/ 28 февраля 2011

Подход 2 лучше.Есть другой подход, который вы можете использовать.- сохранить байтовый массив во временном файле перед тем, как начать отправлять его на сервер.- Это гарантирует, что вы не потеряете данные, даже если есть проблема с подключением.- После завершения загрузки приложение может стереть временный файл.- Еще одним преимуществом этого подхода является то, что вы можете быть уверены, что пользователь может использовать ваше приложение, даже если он не подключен к Интернету.- Как только пользователь подключен, вы можете спросить его, а затем начать загрузку на сервер.

0 голосов
/ 28 февраля 2011

Необъяснимым образом ответом будет сервер, особенно если вы можете установить Image Magick на коробку и преобразовать поток из командной строки.Я использую PhP, но, насколько я понимаю, запуск команд из Ruby очень похож и прост.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...