我想让用户直接从S3下载文件,但不想公开整个目录。目前,我可以使用AWS::S3
库来实现这一点,方法是
S3Object.url_for('beluga_baby.jpg', 'marcel_molina')
它会给我一个类似这样的url:
http://s3-ap-southeast-1.amazonaws.com/bucketname/filename.png?AWSAccessKeyId=key&Expires=exp&Signature=signature
单独使用fog可以做到这一点吗?我尝试这样配置fog:
config.fog_public = false
config.fog_authenticated_url_expiration = 600 # 10 minutes
但是文件的目录仍然是公开的,只是过期了。
"https://bucketname.s3-ap-southeast-1.amazonaws.com/uploads/course_material/file/id/filename.png?AWSAccessKeyId=key&Signature=signature&Expires=exp"
发布于 2013-08-05 01:42:13
带有过期的url可能就是你想要的(如果你仔细观察S3Object的结果,你会发现它也是这样的)。即使有人知道存储桶的名称和路径,他们也不应该有访问权限,除非您显式地将存储桶公开。
https://stackoverflow.com/questions/18008955
复制相似问题