【问题标题】:Prawn image on amazon image not found找不到亚马逊图片上的虾图片
【发布时间】:2013-09-05 06:26:15
【问题描述】:

我在 Rails 3.2.12 应用程序中使用 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 image 命令,表明我正确使用了 Prawn 语法
  2. 我可以使用直接浏览器和 Rails 视图访问 Amazon S3 上的图像,表明 URL 正确
  3. 但是,我无法从 Prawn 访问 Amazon S3 上的图像

有没有人看到类似的东西,或者有什么建议?

迈克尔

【问题讨论】:

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


    【解决方案1】:

    我遇到了同样的问题,我已经解决了

    需要'open-uri'

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

    【讨论】:

    • 太棒了,谢谢。不敢相信这没有更频繁地出现
    • 真的很有帮助,我也很惊讶这不是一个更常见的问题
    • 需要'open-uri' pdf = Prawn::Document.new pdf.image open("hxxp://www.thesite.com/theimage.png")
    【解决方案2】:

    借助最近发布的Prawn,无需open-uri即可实现远程图片加载;

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

    【讨论】:

      猜你喜欢
      • 2020-12-13
      • 2019-01-23
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多