我正在使用 refile gem 进行文件上传,并将文件直接上传到我的 amazon s3 公共存储桶。这些文件正在上传到以下 URL:
https://s3.amazonaws.com/{bucket-name}/store/6309035935359dca1ef549170e7facac9ab3553ad53946cea0bcb8335475
我正在使用 amazon cloudfront 从 s3 提供这些资产,因此上面给出的资产的 cloudfront url 是这样的:
https://{distribution-name}.cloudfront.net/store/6309035935359dca1ef549170e7facac9ab3553ad53946cea0bcb8335475
直接通过浏览器访问时,这两个网址都可以正常工作。要在我的应用程序视图文件中显示此资产,我正在使用 refile gem 以下辅助函数:
attachment_image_tag(@post, :profile_img, :fill, 350, 350)
现在的问题是,这个辅助方法会打印一个类似这样的 URL:
https://{distribution-name}.cloudfront.net/attachments/5845d0a97dc77a57b5b05742a1eb26d629d7cdaa/store/fill/350/350/6309035935359dca1ef549170e7facac9ab3553ad53946cea0bcb8335475/file
由于此 URL 与上面的 cloudfront URL 不同,因此它不显示图像。如何强制attachment_image_tag
函数打印正确的云端 URL?