Face.com APIを参照するために 'face'宝石を使用しているレール3アプリがあります。 apiメソッドは次の形式のパラメータをとります:ファイルアップロードの内容を保存せずにバイナリファイルに変換する(レール)
:file => File.new(path_to_file, 'rb')
フォームを介してファイルをアップロードできるようにアプリケーションのフローを変更しようとしています。ファイルをディスクに保存せずに、RMagickでいくつか作業してからAPI呼び出しを行います。私はその後、RMagickを使ってファイルを操作しても、してデータベースに結果を保存することができます
image = Magick::Image.from_blob(upload_image_field.read)
とRMagick「画像」を生成することができます
:
self.data = image.to_blob #normally 'upload_image_field.read' if not using RMagick
私の問題は、Iイメージファイル(またはBLOB)をAPIが認識できるものに変更することはできません(ディスクに保存してからディスク上のファイルを参照する必要はありません)。 APIの方法でこれを使用した例
は失敗します。私はOK、私が間違っている可能性が、彼は
File.new(path_to_file, 'rb')
おかげ
私はハードドライブへの余分な書き込みを排除しようとしていました。 – CHsurfer
私は考えました。パフォーマンスを向上させるためにラムドライブに書き込めますか? –
正直言って、私は分かりません。ポストデータを使って自分のFace.com APIをロールする方が簡単かもしれません。 – CHsurfer