我正在开发一个应用程序,我将在 S3 上存储文件。由于文件名可能不同,我必须将文件重命名为存储桶中的通用名称,以便我知道以后要获取哪个。
如果我允许用户通过我的网络应用程序下载,我可以在将文件名发送给用户之前改回文件名。但是我希望用户使用临时安全 token 直接下载文件,如下所示。
s3 = AWS::S3.new(
:access_key_id => 1234,
:secret_access_key => abcd
)
object = s3.buckets['bucket'].objects['path/to/object']
object.url_for(:get, { :expires => 20.minutes.from_now, :secure => true }).to_s
但是如何将用户在下载此文件时看到的文件名更改回其原始文件名?
最佳答案
设置 S3 对象的 内容配置属性(property)到attachment; filename="nameyouwant"
其中,nameyouwant 是您希望下载的文件默认使用的任何名称。当用户使用 Web 浏览器从 S3 下载时,浏览器将使用 Content-disposition header 中的名称而不是 URL。
关于amazon-web-services - 直接从 AWS S3 下载时更改用户的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21010502/