Отображение изображений, хранящихся на Amazon S3, с помощью Heroku

Я пытаюсь загрузить изображения, а затем отобразить их в своем приложении.

Я настраиваю приложение на Heroku для загрузки файлов в Amazon S3. Я могу загрузить изображения на S3. Я вижу это на Амазонке. Однако я не могу его отобразить.

Я использовал код:

<%= image_tag user.profile_image.avatar.url, :size => "80x80" %>

Он генерирует следующий HTML (я меняю img на imgtag, так как stackoverflow не позволяет мне добавить этот код):

<imgtag alt="Bob_dylanplanetwaves" height="80" src="http://appname-heroku/uploads/profile_image/avatar/1/bob_dylanplanetwaves.jpg"; width="80" />

http://appname-heroku/uploads/profile_image/avatar/1/bob_dylanplanetwaves.jpg не указывает ни на какое допустимое изображение.

Я безуспешно пробовал следующее:

<%= image_tag user.profile_image.avatar.current_path, :size => "80x80" %>. 

он сгенерировал этот код:

<imgtag alt="Album-the-bootleg-series-vol-4-bob-dylan-live-1966-the-royal-albert-hall-concert" height="80" src="/images/uploads/profile_image/avatar/2/album-the-bootleg-series-vol-4-bob-dylan-live-1966-the-royal-albert-hall-concert.jpg" width="80" /> 

В обоих случаях изображения не отображаются

Я использую CarrierWave для загрузки файла Ruby 1.9.2, Rails 3.0.3 и размещения на Heroku.


person user663778    schedule 20.03.2011    source источник
comment
Вы используете драгоценный камень PaperClip? (редактировать - извините, не видел, что вы сказали CarrierWave)   -  person Mason    schedule 20.03.2011
comment
Ах, ваш код беспорядок. Я очистил его, но, пожалуйста, попробуйте опубликовать его, чтобы люди могли его прочитать :)   -  person thenengah    schedule 20.03.2011


Ответы (1)


Вот как должен выглядеть ваш URL:

src="http://s3.amazonaws.com/heroku_appname/amazon_bucket_name/pictures/large/20.jpg"

appname: имя вашего приложения в ваших приложениях, которое вы можете проверить в своем профиле heroku. amazon_bucket_name: это должно быть имя bucked, созданного вами на AS3.

person thenengah    schedule 20.03.2011
comment
Спасибо. Пробовал безуспешно. С небольшими дополнительными исследованиями сработало следующее. amazon_bucket_name.s3.amazonaws.com//pictures/large/20.jpg Я думал, что Heroku создаст для меня этот URL - person user663778; 20.03.2011
comment
нет, как предложил @mason, если вы используете скрепку, она автоматически создаст для вас URL-адрес. - person thenengah; 20.03.2011
comment
я так и не смог заставить PaperClip работать на меня. не удалось установить ImageMagic на мою оконную машину :-( - person user663778; 20.03.2011
comment
Вы используете окна? Если у вас Mac, используйте macpors. - person thenengah; 20.03.2011
comment
имя приложения не записывается в URL-адрес — это просто s3.amazonaws.com/amazon_bucket_name. ... - person John Beynon; 20.03.2011
comment
@john Beynon, ты забыл добавить имя приложения heroku в URL - person thenengah; 20.03.2011
comment
почему имя приложения heroku связано? имя приложения heroku - если это не что-то супер специфичное для Paperclip? - person John Beynon; 21.03.2011
comment
Я действительно не знаю, но все мои приложения имеют имя приложения в URL-адресе. Может быть что-то особенное для моих приложений, но я видел это и в других местах. - person thenengah; 21.03.2011