未发现亚马逊图像上的虾图像

时间:2013-09-05 06:26:15

标签: ruby-on-rails-3 image amazon-s3 prawn

我在Rails 3.2.12 app中使用Prawn 0.12.0。

如果我的本地服务器上有图像,它可以在标准的rails视图中显示,我也可以使用以下代码在Prawn PDF中显示它

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

到目前为止,这么好。如果我将图像的位置更改为在Amazon S3上,我将获得以下内容

我能够在标准的Rails视图中显示没问题 如果我尝试在Prawn pdf中显示图像,我会收到以下错误

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

然后,如果我将该网址复制并粘贴到浏览器中,则图片显示正常。

所以回顾......

  1. 我能够将Prawn图像命令用于本地图像,表明我正在使用Prawn语法
  2. 我可以使用直接浏览器和Rails视图访问Amazon S3上的图像,表明该网址是正确的
  3. 但是,我无法从Prawn
  4. 访问Amazon S3上的图像

    有没有人见过类似的东西,或者有任何建议?

    迈克尔

2 个答案:

答案 0 :(得分:25)

我有同样的问题,我用

解决了
  

要求'open-uri'

     

图片打开(“hxxp://www.thesite.com/theimage.png”)

答案 1 :(得分:5)

随着最近发布的Prawn,您可以实现加载远程图像而无需open-uri;

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