画像のアップロードにはペーパークリップを使用します。次のように base64 形式でアップロードされた画像:
class Photo < ActiveRecord::Base
before_save :set_image
attr_accessor :picture_data
has_attached_file :image
validates_attachment_content_type :image, :content_type => %w(image/jpeg image/jpg image/png)
def set_image
unless self.picture_data.nil?
data = StringIO.new(Base64.decode64(self.picture_data))
self.image = data
self.picture_data = nil
end
end
end
Paperclip は渡された base64 の content_type を正しく認識しますが、content_type の検証は行われません。ファイルが来るものは何でも保存します。
誰でもこれを手伝ってもらえますか?!