【发布时间】:2009-08-04 11:57:53
【问题描述】:
如何在使用 Rails 上传时验证损坏的图像文件
-
如果损坏的 jpg 或 png 文件(或将任何其他类型文件的扩展名更改为 jpg)
上传时系统必须显示错误
【问题讨论】:
标签: ruby-on-rails
如何在使用 Rails 上传时验证损坏的图像文件
如果损坏的 jpg 或 png 文件(或将任何其他类型文件的扩展名更改为 jpg)
上传时系统必须显示错误
【问题讨论】:
标签: ruby-on-rails
我赞同 Mike Trpcic 关于使用 Paperclip 的建议,我有一个 screencast on the topic。
如果您正在使用它并进行一些图形转换(例如制作缩略图),您可以查找PaperclipCommandLineError 异常。我相信如果转换失败就会触发这种情况,如果 ImageMagick 无法读取图形(由于损坏或类型不正确)。
如果您rescue Paperclip::PaperclipCommandLineError,您可以向用户显示一个很好的错误。
【讨论】:
您可以使用mime-types 库检查 MIME 类型以确保它不是扩展名已更改的文件。
type = MIME::Types.type_for(your_file.original_filename).first
我不确定如何处理损坏/损坏的文件。请务必查看 Paperclip 以上传文件,因为它的设置和使用非常简单。
【讨论】: