2013-09-05 3 views
9

Я использую Prawn 0.12.0 в приложении Rails 3.2.12.Изображение креветки на amazon image не найдено

Если у меня есть изображение на моем локальном сервере он может показать в стандартных рельсах просмотра, и я могу также показать его в Prawn PDF, используя следующий код

@logo = company.logo_url(:large).to_s  
image @logo, :fit => [83.mm, 26.mm] 

До сих пор, так хорошо. Если я изменил местоположение изображения на Amazon S3, я получаю следующее:

Я могу показать в стандартном представлении Rails без проблем Если я попытаюсь отобразить изображение в pdf-формате Prawn, я получаю следующую ошибку

Argument error (https://mydomain.s3.amazonaws.com/uploads/company/logo/20/large_2275_logo.png not found): 

И если я затем скопирую и вставляю этот URL-адрес в браузер, изображение будет хорошо видно.

Так резюмировать ...

  1. Я могу использовать команду креветки изображения для локального изображения, отображая я использую синтаксис креветка правильно
  2. я могу получить доступ к изображению на Amazon S3 с помощью прямой браузер и вид Rails, указав, что URL является правильным
  3. НО, я не могу получить доступ изображения на Amazon S3 от Prawn

кто-нибудь видели что-нибудь подобное, или есть какое-то предложение?

Майкл

ответ

22

У меня была такая же проблема, я решил с

требуют 'открытой' Ури

изображение открытой ("hxxp: //www.thesite.com/ theimage.png ")

+0

Превосходно, спасибо. Не могу поверить, что это чаще не появляется –

+0

Действительно, я был также удивлен, что это не самый распространенный вопрос. – Thomas

+0

требуется «open-uri» pdf = Prawn :: Document.new pdf.image open ("hxxp: //www.thesite.com/theimage.png") – praaveen

4

С недавними выпусками Prawn вы можете достичь загрузки удаленных изображений, не требуя открытого uri;

image open("http://example.com/remote_image.pdf"), at: [300, 100], width: 100, height: 100