我在Rails中有一个简单的应用程序,允许我使用Carrierwave和雾将文件上传到Amazon S3。它工作正常。我现在正在下载文件并在浏览器上显示它们。有用。但是,来自S3的专用链接(我将其设置为临时链接)显示在浏览器上,如:
我不想公开S3的私人链接。相反,我希望显示如下链接: www.xxx.com/user/1/resume/1
我有一个模型resume.rb
class Resume < ActiveRecord::Base
mount_uploader :attachment, ResumeUploader
end
带有显示操作的控制器
def show
@resume = Resume.find(params[:id])
@resume_name = @resume.attachment.path.split("/").last
end
我的观点:show.html.erb
<%= link_to @resume_name, @resume.attachment.url %>
我是ROR的新手。任何人都可以告诉我如何在不显示S3的私人网址的情况下在浏览器上显示该文件?
答案 0 :(得分:0)
您可以通过CloudFront路由图像。 Cloud Front有许多优点,但它确实需要付出代价。 一旦您通过云端路由您的图像,您就可以获得与s3相同的域名链接,但在云端,您可以更改链接。