2009-08-04 4 views
0

Как проверить файл поврежден изображения при загрузке с помощью RailsКак проверить файл поврежден изображения при загрузке с помощью Rails

  • если поврежденный JPG или файл PNG (или изменить расширение любого другого типа файла в формате JPG)

    система будет показывать ошибку во время загрузки

ответ

1

Вы можете проверить тип MIME, чтобы убедиться, что это не файл с измененным расширением, используя mime-types библиотека.

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

Я не уверен, как это будет работать с поврежденными/сломанными файлами. Обязательно загляните в Paperclip для загрузки файлов, так как это смешно легко настроить и использовать.

2

I второе предложение Майка Трпсика об использовании скрепки, у меня есть screencast on the topic.

Если вы используете это и выполняете графическое преобразование (например, создаете миниатюры), вы можете искать исключение PaperclipCommandLineError. Я считаю, что это вызвано, если преобразование завершилось неудачно, что было бы, если бы ImageMagick не смог прочитать графику (из-за коррупции или неправильного типа).

Если вы rescue Paperclip::PaperclipCommandLineError, то вы можете представить приятную ошибку пользователю.

Смежные вопросы