Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 未找到amazon图像上的对虾图像_Ruby On Rails 3_Image_Amazon S3_Prawn - Fatal编程技术网

Ruby on rails 3 未找到amazon图像上的对虾图像

Ruby on rails 3 未找到amazon图像上的对虾图像,ruby-on-rails-3,image,amazon-s3,prawn,Ruby On Rails 3,Image,Amazon S3,Prawn,我正在Rails 3.2.12应用程序中使用对虾0.12.0 如果我在本地服务器上有一个图像,它可以在标准rails视图中显示,也可以使用以下代码在Prawn PDF中显示 @logo = company.logo_url(:large).to_s image @logo, :fit => [83.mm, 26.mm] 到目前为止,一切顺利。如果我将图像的位置更改为在AmazonS3上,我会得到以下结果 我可以在标准Rails视图中显示,没有问题 如果我试图在对虾pdf中显示图像

我正在Rails 3.2.12应用程序中使用对虾0.12.0

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

@logo = company.logo_url(:large).to_s    
image @logo, :fit => [83.mm, 26.mm]
到目前为止,一切顺利。如果我将图像的位置更改为在AmazonS3上,我会得到以下结果

我可以在标准Rails视图中显示,没有问题 如果我试图在对虾pdf中显示图像,我会得到以下错误

Argument error (https://mydomain.s3.amazonaws.com/uploads/company/logo/20/large_2275_logo.png not found):
然后,如果我将该url复制并粘贴到浏览器中,则图像显示良好

因此,概括一下

  • 我能够对本地图像使用Prawn image命令,这表明我正确使用了Prawn语法
  • 我可以使用直接浏览器和Rails视图访问AmazonS3上的图像,这表明URL是正确的
  • 但是,我无法从Prawn访问Amazon S3上的图像
  • 有没有人见过类似的情况,或者有什么建议


    迈克尔

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

    需要“打开uri”

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


    通过最近发布的Prawn,您可以实现无需打开uri即可加载远程图像

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

    好极了,谢谢。真不敢相信这并没有显示出更多的实际帮助,我也很惊讶这不是一个更常见的问题需要'open uri'pdf=Prawn::Document.new pdf.image open(“hxxp://www.thesite.com/theimage.png")