AWS S3存储桶图像未显示在Rails应用

时间:2018-05-16 04:20:36

标签: ruby-on-rails amazon-web-services heroku amazon-s3

在发现Heroku的Rails应用程序中没有出现一些大图像后,我打开了一个AWS账户,希望能以这种方式显示。

我将我的图像上传到我的S3存储桶,并按照Heroku网站上的教程在Heroku上注册了密钥。一切似乎都已到位,所以我使用AWS链接引用了图像:

<img class="d-block w-100" src="https://s3-ap-southeast- 
 1.amazonaws.com/globalenglish1/EnglishUp-113.jpg">

但是这没有用,所以我猜想有些东西不见了。我能想到的唯一一件事就是我没有使用Procfile在Heroku中启动我的应用程序,而且我已经找不到任何创建procfile的方法了,因为我已经部署了我的应用程序Heroku的。但我真的不知道这是否必要,这只是我的猜测。

如果有人能给我任何指示,我将非常感激。

3 个答案:

答案 0 :(得分:2)

根据提供的说明并访问图片来源,似乎未提供公开访问权以查看此图片。

请检查AWS控制台,存储在S3存储桶上的图像是否可公开访问。

如果没有,请提供公共访问权限,然后再次检查。

为了公开桶,请找到下面提到的链接。

Make a bucket public in Amazon S3

答案 1 :(得分:0)

我认为问题是您在源网址上放置了空格' ',如https://s3-ap-southeast-之后空间请参阅帖子中的URL,当我放入浏览器时,它没有显示图片,但在移除此This URL之后的空格后,它会显示图像。

检查出来。

答案 2 :(得分:0)

首先,您必须公开存储桶,如果仍然没有显示,请检查代码中是否提到了图像名称

val uploadObserver = transferUtility?.upload(key:"folderInBucketName/" + "FileName", file)

注意:此代码在kotlin中,但问题可能相同