ruby-on-rails - Rails API ActiveStorage : Get Public URL to display image from AWS S3 Bucket?

标签 ruby-on-rails reactjs amazon-s3 rails-activestorage

我设置了 Rails 5.2 API,并遵循了有关如何将图像附加到模型对象的文档 - 一切正常。我遇到的问题是我想在 JSON 对象中返回附件的公共(public) URL,以便我可以使用该 URL 作为 <img src... 中的源。在我的 React 前端。有没有办法从 AWS S3 存储桶返回实际 URL,如果单击图像会显示在那里?

现在,我已经尝试过 rails_blob_path , service_url ,并且我确实得到了 URL 作为返回,但它们实际上都没有按照我希望的方式呈现图像。对此有什么解决方法吗?

同样,只想要来自 s3 的附件的实际公共(public) URL,以便我可以将其插入 src <img> 内的属性并让它显示出来。谢谢。

我的 development.rb 文件配置 config.active_stoarge.service = :amazon .

我的 storage.yml 文件配置了 amazon,如下所示:amazon: service: S3 access_key_id: <%= Rails.application.secrets.amazon[:access_key] %> secret_access_key: <%= Rails.application.secrets.amazon[:secret_key] %> region: us-east-2 bucket: my_bucket_name_here
事件存储 5.2.2

rails 5.2.2

最佳答案

您应该可以使用 rails_blob_urlrails_blob_path创建指向实际文件的链接。

https://edgeguides.rubyonrails.org/active_storage_overview.html#linking-to-files

关于ruby-on-rails - Rails API ActiveStorage : Get Public URL to display image from AWS S3 Bucket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53752070/

相关文章:

ruby-on-rails - ActiveRecord::Migration 的 create_join_table 的行为是什么?

ruby-on-rails - 如何自定义 Capistranos SSH 命令?

Git 忽略 public/index.html

javascript - Popper菜单上的Z-Index?

amazon-s3 - 在 Heroku 上使用回形针和 S3 上传时,模型缺少 'photo_file_name' 所需的 attr_accessor

iphone - 使用AWS iOS SDK从cloudfront发行版获取文件

ruby-on-rails - 如何加入 Rails 中的多对多表

ruby-on-rails - 如何为日期时间列设置默认值以记录迁移中的创建时间?

javascript - 在 React 中动态迭代 json 对象数组

iOS/Swift - 使用 AWS3 (Amazon SDK) 将图像异步下载到 Collection View 中