我使用refile gem进行文件上传,并且我将文件直接上传到我的amazon s3公共存储桶。这些文件正好上传到以下网址:
https://s3.amazonaws.com/{bucket-name}/store/6309035935359dca1ef549170e7facac9ab3553ad53946cea0bcb8335475
我使用amazon cloudfront从s3提供这些资产,因此上面给出的资产的云端网址是这样的:
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与上面的云端URL不同,因此它不显示图像。如何强制attachment_image_tag
函数打印正确的前端URL?