我正在使用Amazon S3作为我使用Paperclip上传的user
图片的托管服务。
虽然我很难理解这些文件的私密程度。
我对user
图像并不感到困扰,因为它们旨在显示在公开的个人资料中。虽然将来某些PDF文件将专用于特定的users
,但只能通过这些users
来查看
当然,我的应用程序将返回用户有权查看的文件,但是当查看图像的HTTP地址并调整它们时,会传递其他一些图像:
http://mywebsitename.s3-eu-west-1.amazonaws.com/photographephotos/images/000/000/013/big/CopyrightMM.JPG?1492617xxx
例如在上面的地址中,当我将数字“13”更改为另一个数字时,我可以看到不同的图像......
我不确定我做错了什么,但似乎没有添加到图像地址的唯一令牌,就像在Amazon S3上的临时会话一样,允许单个用户在短时间内看到此图像...除非重新加载页面,并且另一个标记附加到我的图像...
关于设置,我创建了一个IAM用户并授予对应用程序存储桶的完全访问权限,然后使用附加到该IAM用户的S3凭证设置Paperclip。
答案 0 :(得分:1)
在您的模型中使用:
has_attached_file :file, s3_permissions: :private
要检索文件URL,请使用:
@model.file.expiring_url(10)