0

画像のアップロードにはペーパークリップを使用します。次のように 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 の検証は行われません。ファイルが来るものは何でも保存します。

誰でもこれを手伝ってもらえますか?!

4

1 に答える 1