クライアントがBlackberryおよびAndroidフォンから画像をアップロードしようとしています。彼らは、a)フォームパラメータやb)マルチパートメッセージを投稿するのが好きではありません。彼らがやりたいのは、ファイルのデータのみを使用してURLにPOSTを実行することです。
このようなことはcurlで行うことができます:
curl -d @google.png http://server/postcards/1/photo.json -X POST
アップロードした写真をハガキモデルの写真属性と適切なディレクトリに配置したいと思います。
コントローラでこのようなことをしていますが、ディレクトリでイメージが破損しています。今のところ、ファイルの名前を「png」に手動で変更しています。
def PostcardsController < ApplicationController
...
# Other RESTful methods
...
def photo
@postcard = Postcard.find(params[:id])
@postcard.photo = request.body
@postcard.save
end
モデル:
class Postcard < ActiveRecord::Base
mount_uploader :photo, PhotoUploader
end