7

私はpaperclipを使用してアプリケーションに画像をアップロードしています。私がしたバリデーションは:ペーパークリップのアップロードがIE8で失敗する

validates_attachment_content_type :image, :content_type => ['image/jpg','image/jpeg', 'image/png', 'image/tiff', 'image/gif'] 

すべては、firefox、chorme、IE9でうまくいきます。しかしIE8に、私はエラーを取得する - 「写真画像コンテンツの種類無効な形式!!!

を任意の溶液または手がかりをはるかに高く評価されます。

答えて

12

確かに参考になります以下、すなわち:content_type => ['image/pjpeg']

それは、コンテンツタイプに余分な画像フォーマットimage/pjpegを必要と述べています。

http://blog.joshsoftware.com/2010/11/26/paperclip-validates_attachment_content_type-always-fails-in-ie-6-and-7-for-jepg-and-png-image/

http://blog.siyelo.com/tip-of-the-day-mime-types-for-paperclip-ie8

+0

ありがとうashis。あなたのヒントは私のために働いた:-) – safalmj

2

あなたは代わりに、これを試すことができます。content_type => /image/

+0

こんにちはCodeglot、あなたが示唆したように、私はこれをしなかった: 'validates_attachment_content_type:画像、:CONTENT_TYPE => [ '/画像/ JPG'、 '/画像/ JPEG'、「/画像/ png '、'/image/tiff '、'/image/gif '] 'と入力します。しかし今、写真のアップロードはどのブラウザでも動作しません。私は何も見逃しましたか? – safalmj

1

は、私はあなたが前の回答を誤解しているかもしれないと思います。彼が提案していたのは、正面にスラッシュを追加するのではなく、「イメージ」という言葉を含む正規表現を使用することでした。だからあなたの修正コードは次のようになります

//を使用して、コンテンツタイプの正規表現を使用しての代わりに、配列の各要素によって明示されていることを意味します。上記全体CONTENT_TYPE列と一致する画像を検索するだろうか、もう少し厳密かつ使用することができます:

validates_attachment_content_type :image, :content_type => /^image/ 

は、文字列がどのそれが必要、単語「画像」で開始することがあることを意味しています。これは、IEでも役立ちます。

+0

このチップをありがとう。非常に便利です:) –

関連する問題