繁体   English   中英

S3上传KEY!= FILENAME(aws)

[英]S3 Upload Where KEY != FILENAME (aws)

我想将唯一标识符用作我的Amazon 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可能是正确的解决方案,但是我还无法弄清楚如何正确地使用curl。

您应该能够在POST请求中设置Content-Disposition标头,该标头将在S3响应中使用。 只需添加-H "Content-Disposition:whatever"即可curl调用。

另一种选择是在键名中使用/并将结尾部分设置为原始文件名。 例如uuid/filename.jpeg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM