我想使用唯一标识符作为我的亚马逊s3密钥,但仍然可以使用原始文件名下载文件。
例如,我使用预先签名的POST上传文件。所以,让我说我使用这个卷曲字符串发布:
"curl -s -ss -X POST -i \
-F \"key=my_files/1.format\" \
-F \"AWSAccessKeyId=" + my_AWSAccessKeyId + "\" \
-F \"Policy=" + my_policy + "\" \
-F \"Signature=" + my_signature + "\" \
-F \"file=@my_picture.jpg\" \
https://my_bucket.s3.amazonaws.com/"
所以我有这个任意文件," 1.format"但它确实应该是my_picture.jpg。当我尝试从https://my_bucket.s3.amazonaws.com/my_files/1.format下载时,我下载了1.format文件,而不是my_picture.jpg。
我知道设置Content-Disposition可能是正确的解决方案,但我还没有能够弄清楚如何正确地使用卷曲。
答案 0 :(得分:0)
您应该能够在Content-Disposition
请求中设置POST
标头,该标头将在S3响应中使用。只需将-H "Content-Disposition:whatever"
添加到curl
来电。
另一种选择是在密钥名称中使用/
并将尾随部分设置为原始文件名。例如。 uuid/filename.jpeg