在 Active storage Rails API 中获取图像的 heroku-app url 而不是 s3.amazonaws
Getting heroku-app url for images instead of s3.amazonaws in Active storage Rails API
我很难理解 rails 中活动存储的图像 url。
我正在使用 amazon s3 bucket 在 storage.yml 文件中使用正确配置上传生产中的图像。
当我运行url_for(User.user_image)时,它生成这个link:
而当我运行User.user_image.service_url时,生成的link是
https://my-app.s3.amazonaws.com/ySMyXZUWDnQGexvvNwKjZKpb......
我的图像是否存储在两个地方?一个是 Heroku-PostgreSQL,第二个是 aws-s3,或者它只是 aws-s3,我的图像正在存储并且活动存储以某种方式将它绑定到 s3 link.
实际上,我希望 url_for 中的 http://s3.amazonaws.com 到 API 响应中的 return。
应用程序行为: 我有 Rails API 应用程序,其中 images/videos 首先从前端并从那里将它们推送到 s3 存储桶。
您想要生成 url 的方式实际上是
rails_blob_url(User.find({id of user}).user_image)
就其工作原理而言,activestorage 仅持有一个指向文件所在位置的指针,并将在必要时重定向到 S3 存储桶。在 Heroku 上实际上不可能按照构建服务的方式在本地存储文件,需要某种外部存储容器。
Rails 链接部分的文档:https://edgeguides.rubyonrails.org/active_storage_overview.html#linking-to-files
我很难理解 rails 中活动存储的图像 url。 我正在使用 amazon s3 bucket 在 storage.yml 文件中使用正确配置上传生产中的图像。
当我运行url_for(User.user_image)时,它生成这个link:
而当我运行User.user_image.service_url时,生成的link是
https://my-app.s3.amazonaws.com/ySMyXZUWDnQGexvvNwKjZKpb......
我的图像是否存储在两个地方?一个是 Heroku-PostgreSQL,第二个是 aws-s3,或者它只是 aws-s3,我的图像正在存储并且活动存储以某种方式将它绑定到 s3 link.
实际上,我希望 url_for 中的 http://s3.amazonaws.com 到 API 响应中的 return。
应用程序行为: 我有 Rails API 应用程序,其中 images/videos 首先从前端并从那里将它们推送到 s3 存储桶。
您想要生成 url 的方式实际上是
rails_blob_url(User.find({id of user}).user_image)
就其工作原理而言,activestorage 仅持有一个指向文件所在位置的指针,并将在必要时重定向到 S3 存储桶。在 Heroku 上实际上不可能按照构建服务的方式在本地存储文件,需要某种外部存储容器。
Rails 链接部分的文档:https://edgeguides.rubyonrails.org/active_storage_overview.html#linking-to-files