force从AWS s3 rails下载文件

时间:2016-08-23 14:49:40

标签: ruby-on-rails amazon-web-services amazon-s3

我想知道是否有人知道从AWS下载文件的方法。出于某些安全原因,我将一些文件从我的谷歌驱动器传输到s3。对于谷歌文档,有一个URL允许下载带有他的ID的文件。也许s3有类似的过程? 我希望我的rails应用程序的用户可以通过简单的链接下载文件。

1 个答案:

答案 0 :(得分:0)

我为我非常糟糕的英语道歉。当我说“强制下载链接”时,它是一个允许用户从我的rails应用程序自动下载存储在s3中的文件的链接。

我找到了一种方法来做到这一点。要访问aws文件,链接是:

HREF = “http://bucket-name.s3-eu-central-1.amazonaws.com/filename.wtf”

要允许用户下载它,您必须将您的权限更改为所有人。并将以下代码添加到存储桶编辑策略中:

{
"Version": "2008-10-17",
"Statement": [
    {
        "Sid": "AllowPublicRead",
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::bucket-name/*"
    }
]
}

不要忘记用你的

更改桶名

然后你必须改变并添加你文件中的元数据:

content-Type - >应用/力下载

content-Disposition - >附件;文件名= “filename.wtf”

只需用你的

更改“filename.wtf”即可

希望有所帮助!