【发布时间】:2019-01-26 21:05:18
【问题描述】:
我目前正在使用 AWS javascript SDK 来创建预签名的 POST。 (请注意,这个问题不是关于预签名的 PUT/URL,另一个 s3 功能)
https://github.com/aws/aws-sdk-js/
在尝试创建预签名帖子时,我会执行以下操作:
const params = {
Bucket: 'myuniques3bucket',
Fields: {
Key: 'key1.png',
'Content-Type': 'image/png'
},
conditions: [
{bucket: 'myuniques3bucket'},
{key: 'key1.png'},
{'Content-Type': 'image/png'},
['content-length-range', 1024, 1048576], // 1KB to 10MB
{'x-amz-date': amzDate},
{'x-amz-algorithm': 'AWS4-HMAC-SHA256'},
{'x-amz-credential': `${process.env.AWS_ACCESS_KEY_ID}/20180820/us-east-2/s3/aws4_request`}
],
Expires: 300 // 300 seconds
}
s3.createPresignedPost(params, (err, data) => {
console.log(data);
});
我正在围绕不应该工作的上传过程进行测试。我发现那里没有强制执行内容类型,因为我可以使用其他内容类型的帖子参数上传其他文件类型。
我不清楚 JS SDK 是否为用户管理签名过程,或者我是否需要做一些特殊的事情来获取签名中的这些不同的密钥。
很明显,我可以做到这一点,但不清楚是否需要。不确定图书馆是否应该为我处理。
TLDR;我需要做些什么来激活使用 js sdk 的 s3 预签名 POST 的内容类型验证?
任何帮助将不胜感激。
【问题讨论】:
-
我遇到了同样的问题,您是否设法让它工作
标签: post amazon-s3 aws-sdk pre-signed-url