Как проверить поврежденный файл изображения при загрузке с помощью Rails - PullRequest
1 голос
/ 04 августа 2009

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

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

    система должна показать ошибку при загрузке

Ответы [ 2 ]

2 голосов
/ 05 августа 2009

Я второе предложение Майка Трпчича об использовании Paperclip, у меня есть скринкаст на тему .

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

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

1 голос
/ 04 августа 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...