[英]Rails ActiveStorage Variants url
我正在嘗試創建一個 api 來獲取模型的原始圖像和其他變體。 現在我沒有將附件存儲在外部存儲上,但我計划將來將它們保存在 S3 上。
現在我想問哪種是獲取圖像 url 的最佳方式?
如果使用url_for
結果是: /rails/active_storage/blobs/redirect/...
或/rails/active_storage/representations/redirect/...
對於變體,
而processed.url
正在返回/rails/active_storage/disk/...
_model.jbuilder
json.image url_for(model.image)
json.image_thumbnail url_for(model.image.variant(:thumbnail).processed)
json.image_icon model.image.variant(:icon).processed.url
我建議不要讓存儲的 URL 使用 activeStorage 的代理 url 並且不發出重定向。
這允許存儲提供商更改,理想情況下,如果您在 AWS 上,您可以使用像 CloudFront 這樣的 CDN 緩存此響應:
json.image_thumbnail rails_storage_proxy_path(model.image.variant(:thumbnail))
有關更多信息,請訪問: https://blog.saeloun.com/2021/06/22/rails-active-storage-proxy.html以及指南: https://edgeguides.rubyonrails.org/active_storage_overview.html#代理模式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.