У меня есть приложение rails 3, в котором я использую гем 'face' для ссылки на API Face.com. Метод API принимает параметр в виде:
:file => File.new(path_to_file, 'rb')
который работает.
Я пытаюсь изменить поток приложения, чтобы файл можно было загрузить через форму, выполнить некоторую работу с RMagick и затем выполнить вызов API, и все это без сохранения файла на диск.
Я могу сгенерировать RMagick 'Image' с помощью
image = Magick::Image.from_blob(upload_image_field.read)
Затем я могу манипулировать файлом с помощью RMagick и даже сохранять результаты в базе данных с помощью:
self.data = image.to_blob #normally 'upload_image_field.read' if not using RMagick
Моя проблема в том, что я не могу изменить файл изображения (или большой двоичный объект) на что-то, что распознает API (без сохранения его на диск и последующей ссылки на файл на диске).
Например, использование этого в методе API завершается ошибкой:
:file => image.to_blob
Как конвертировать блоб в тот же формат, что и
File.new(path_to_file, 'rb')
Спасибо