2013-09-05 14 views
9

Używam Prawn 0.12.0 w aplikacji Rails 3.2.12.Obraz krewetki na obrazie amazonowym nie został znaleziony

Jeśli mam obrazu na moim lokalnym serwerem może wykazać w standardowych szynach zobaczyć i mogę również wykazane w Prawn PDF za pomocą następującego kodu

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

Tak daleko, tak dobrze. Jeśli zmienić położenie obrazu będzie na Amazon S3 pojawia się następujący

jestem w stanie pokazać w standardowych szynach zobaczyć żadnego problemu jeśli próbuję wyświetlić obraz w formacie pdf Prawn I pojawia się następujący błąd

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

A jeśli następnie skopiuję i wkleję ten URL do przeglądarki, obraz będzie wyglądał dobrze.

Przypomnę więc ...

  1. jestem w stanie użyć polecenia obrazu Prawn dla lokalnego obrazu, wskazując używam składni Prawn poprawnie
  2. mogę uzyskać dostęp do obrazu na Amazon S3 przy użyciu bezpośrednia przeglądarka i widok Rails, co wskazuje, że adres URL jest poprawny
  3. Ale nie może uzyskać dostępu do obrazu na Amazon S3 z Krewetka

czy ktoś widział coś podobnego, lub masz jakieś sugestie?

Michael

Odpowiedz

22

miałem ten sam problem, mam rozwiązany

require 'open-uri'

obraz open ("hxxp: //www.thesite.com/ theimage.png ")

+0

Super, dzięki. Nie mogę uwierzyć, że to nie pojawia się częściej –

+0

Naprawdę pomocna, byłem także zaskoczony, że to nie jest częstsze pytanie – Thomas

+0

wymagają 'open-uri' pdf = Prawn :: Document.new pdf.image open ("hxxp: //www.thesite.com/theimage.png") – praaveen

4

W ostatnich wydaniach" Krewetki "można uzyskać ładowanie zdalnych obrazów bez konieczności otwierania URI;

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