我正在使用带有Rails 5.2的Active Storage。
当我为图像创建下载链接时,它会为blob生成一个指向Rails应用程序的URL。
有什么方法可以创建目录指向S3之类的云服务的下载链接,而无需重定向到Rails应用程序?
答案 0 :(得分:2)
您可以使用活动存储service_url
这样的方法来获取文件的链接:
Model.last.attachement.service_url
它将为您的附件返回服务链接。可以进一步了解service_url
here
答案 1 :(得分:1)
service_url
方法是正确的方法,但是请记住,生成的url将及时过期。由于重定向,以这种方式生成的url也可能会变慢(Active Storage会生成指向Rails应用程序的URL。在访问时,这些URL会重定向到该文件的实际服务端点)。
如果您想生成永久的直接url进行附加,则Active Storage在没有黑客的情况下是行不通的。
有几个建议可以扩展Active Storage中的此功能: https://github.com/rails/rails/issues/34552#issuecomment-469530719