我已经设置了Rails 5.2 API,并遵循了有关如何将图像附加到模型对象的文档-一切正常。我遇到的问题是我想在JSON对象中返回附件的公共URL,以便可以在React前端的<img src...
中使用该URL作为源。有没有一种方法可以从AWS S3存储桶中返回实际URL,如果单击该图像,该图像将显示在哪里?
现在,我尝试了rails_blob_path
,service_url
,但确实得到了URL作为回报,但是它们都不以我希望的方式实际呈现图像。有任何解决方法吗?
同样,只希望附件的实际公共URL来自s3,因此我可以将其插入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
ActiveStorage 5.2.2
Rails 5.2.2
答案 0 :(得分:1)
您应该可以使用rails_blob_url
或rails_blob_path
创建指向实际文件的链接。
https://edgeguides.rubyonrails.org/active_storage_overview.html#linking-to-files