2013-08-02 71 views
1

我想讓用戶直接從S3下載文件,但不想公開完整的目錄。目前,我能夠做Rails Carrierwave Fog hide s3目錄

S3Object.url_for('beluga_baby.jpg', 'marcel_molina') 

實現與AWS::S3庫,它會給我的網址,如:

http://s3-ap-southeast-1.amazonaws.com/bucketname/filename.png?AWSAccessKeyId=key&Expires=exp&Signature=signature 

這是可以實現的單獨霧?我試圖像這樣配置霧:

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" 
+1

s3 URL將始終包含s3存儲桶和密鑰。否則,它將無法找到該文件。 –

+0

@doog無論如何顯示存儲桶有什麼問題,因爲您的網址受到有效期限的保護 – Viren

+0

@Viren我不擔心存儲桶,但目錄像'uploads/course_material/file/id' – harinsa

回答

0

帶過期的url可能是你想要的(如果仔細看S3Object的結果,你會發現它也是這樣)。即使有人知道存儲桶的名稱和路徑,他們也不應該訪問,除非您明確地公開存儲桶。

相關問題