如何使用Rails上传时验证损坏的图像文件

时间:2009-08-04 11:57:53

标签: ruby-on-rails

如何使用Rails上传时验证损坏的图像文件

  • 如果损坏的jpg或png文件(或将任何其他类型的文件的扩展名更改为jpg)

    系统必须在上传期间显示错误

2 个答案:

答案 0 :(得分:2)

我是第二个Mike Trpcic关于使用Paperclip的建议,我有一个screencast on the topic

如果您正在使用它并进行一些图形转换(例如制作缩略图),您可以查找PaperclipCommandLineError异常。我相信如果转换失败就会触发,如果ImageMagick无法读取图形(由于损坏或类型不正确),就会出现这种情况。

如果你rescue Paperclip::PaperclipCommandLineError,你可以向用户提出一个很好的错误。

答案 1 :(得分:1)

您可以使用mime-types库检查MIME类型,以确保它不是带有更改扩展名的文件。

type = MIME::Types.type_for(your_file.original_filename).first

我不确定如何使用损坏/损坏的文件。请务必查看Paperclip上传文件,因为设置和使用起来非常简单。