2013-09-05 5 views
9

Sto usando Prawn 0.12.0 in un'applicazione Rails 3.2.12.Immagine gambero su immagine amazzonica non trovata

Se ho un'immagine sul server locale può mostrare in guide standard vista, e posso anche averlo mostrato in un gambero PDF utilizzando il seguente codice

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

Fin qui, tutto bene. Se cambio la posizione dell'immagine su Amazon S3 ottengo il seguente

Sono in grado di mostrare in una vista Rails standard nessun problema Se provo a visualizzare l'immagine in un pdf di Prawn ottengo il seguente errore

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

e se quindi copiare e incollare l'URL in un browser, l'immagine mostra bene.

Quindi, per ricapitolare ...

  1. sono in grado di utilizzare il comando immagine del gamberetto a un'immagine locale, indicando sto usando la sintassi Prawn correttamente
  2. posso accedere a un'immagine su Amazon S3 utilizza un browser diretta e una vista Rails, indicando che l'URL sia corretto
  3. MA, non posso accedere all'immagine su Amazon S3 da Prawn

qualcuno ha visto qualcosa di simile, o hanno qualche suggerimento?

Michael

risposta

22

ho avuto lo stesso problema, ho risolto con

richiedono 'open-uri'

immagine aperta ("hxxp: //www.thesite.com/ theimage.png ")

+0

Superbo, grazie. Non riesco a credere che questo non viene visualizzato più spesso –

+0

Davvero utile, mi è stato anche sorpreso questo non è una domanda più comune – Thomas

+0

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

4

Con le recenti versioni di Prawn, è possibile ottenere il caricamento di immagini remote senza richiedere open-uri;

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