2013-10-08 6 views
0

У меня есть приложение Rails, в котором есть модель изображения, использующая драгоценный камень с несущей для обработки загрузки/сохранения изображений.Кодировать и отправить изображение через командную строку?

В конечном счете, я планирую, чтобы приложение iOS отправило изображение на контроллер модели Picture/create action.

До этого я хотел бы проверить некоторые вещи локально и смоделировать событие POST.

Могу ли я сделать это путем кодирования/публикации через терминал OSX? Мне кажется, мне нужно закодировать файл изображения в (двоичный?) И POST его на контроллер/действие.

ответ

2

Самый простой способ имитировать это с помощью утилиты командной строки curl. Вы можете сделать что-то вроде:

curl -X POST -F field1=value1 -F [email protected]/to/file.jpg http://example.org/pictures 

В -F параметры позволяют задать значения полей формы. Например, ваш контроллер может ожидать, что с отправкой файла будут отправлены пару полей формы. Вы можете пройти несколько опций -F name=value. Если value начинается с @, то curl будет считывать из файла (например, изображение, которое вы хотите загрузить).

-X POST делает завиток запускает запрос POST на сервер. Я не на 100% уверен, что это необходимо, потому что я думаю, что curl автоматически переключится на POST, так как вы включили файл с загрузкой ... но это тоже ничего не повредит.

curl - очень мощный инструмент. Вы можете получить дополнительную информацию, набрав man curl в окне терминала OSX. Он имеет множество опций и может справиться практически с любой ситуацией, которую вы бросаете на нее.

+0

Отлично, я использовал завиток для многих других вещей, но не думал проверять его документацию, чтобы увидеть, может ли он обрабатывать файлы напрямую - спасибо! – Dan

+0

Добро пожаловать @DanShev! Не могли бы вы пометить мой ответ так, как я могу получить некоторые вкусные баллы? =) Спасибо! – bmatcuk

Смежные вопросы