Скрепка + S3 работает локально, а не на Heroku - PullRequest
0 голосов
/ 31 января 2012

Я настроил свое приложение на использование S3 вместо локальной файловой системы для хранения файлов Paperclip при работе в производстве.На моем локальном компьютере работает нормально (скрепка хранит вложения в моем контейнере S3).

На Heroku это не работает, и поведение странное:

Если пользователь регистрируетсяи прикрепить фотографию профиля и нажать кнопку отправить, я получил сообщение об ошибке:

1 error prohibited this user from being saved:
There were problems with the following fields: 

Avatar content type is not one of image/jpg, image/jpeg, image/png, image/gif 

, тогда как загруженное изображение имеет правильный формат и обрабатывается нормально при работе paperclip + s3 без Heroku ...

В журналах Heroku ничего не сказано ...

Я установил параметры heroku vars: heroku config: add bucket, access_key и secret_key.

Я что-то забыл?

Большое спасибо за любую помощь !!

Ответы [ 2 ]

3 голосов
/ 02 февраля 2012

ОК ... неправильное предположение ... на самом деле это не ошибка Heroku, а Internet Explorer, который преобразует файлы 'image / jpeg' в 'image / pjpeg' (даже если jpg не прогрессивный) и преобразует 'image /png 'into' image / x-png 'тип контента ...

Тесты, выполненные на моей локальной машине, были проведены с Mozilla, тогда как тест на Heroku был выполнен с IE, что объясняет, почему я думал, что это так.Heroku ...

Все отлично работает с Chrome и Mozilla, но если вы используете Internet Explorer, обязательно добавьте 'image / pjpeg', 'image / pjpg' и 'image / x-png' ксписок допустимых форматов изображений в ваших проверках!

0 голосов
/ 31 января 2012

Похоже, что тип содержимого по какой-то причине не проверяется как корректный. Это также должно завершиться ошибкой, если вы запускаете приложение в производственном режиме локально (таким образом, управляя Heroku из уравнения)

...