我有一个默认ACL设置为私有的存储桶 . 我想生成预先签名的网址并将其分发给用户,以便他们可以上传文件,并且需要在上传后公开访问该文件 .

我可以生成预签名的URL并上传文件,但文件始终保持私密 . 如果我在创建签名URL时将ACL设置为'public-read',则 getSignedUrl() 正在生成签名URL,但是对该签名URL的PUT请求会拒绝访问 .

var params = {
    Bucket: "bucket name",
    Key: "file key name",
    Expires: 3600,
    ACL:"public-read",
    ContentType: "application/octet-stream"
};
s3.getSignedUrl("putObject", params);

存储桶可以包含私有或可公开访问的文件,我想在创建签名网址时设置隐私 . 我怎么能做到这一点?

我正在使用amazon javascript sdk .