我需要与邮递员将文件上传到S3进行测试。我有一个从S3生成的预签名URL。
但是我不知道如何正确配置邮递员以对我生成的预签名URL进行此PUT请求。
邮递员标题错误的响应是:
<Code>SignatureDoesNotMatch</Code> <Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
预签名请求的参数:
const params = {
Bucket: 'ss-files-dev',
Key: 'dansero.jpg',
ContentType: 'image/jpeg',
Expires: 100
};
我获得了URL,然后在邮递员中输入了PUT请求,但标题不完整? 1.如果在标头上添加内容类型,则服务器无响应 2.在请求中,我将附件附加为“二进制”
如何处理邮递员的PUT请求?谢谢
答案 0 :(得分:4)
对我来说,邮递员添加了隐藏的标题。如果我删除Content-Type标头,则Put会按预期工作。
答案 1 :(得分:3)
请确保以下几点:
1-当您获得签名的URL时,文件名与密钥相同。
2-通过将正确的参数传递给getSignedUrl,获取putObject的签名URL。
对于放置请求,不需要设置任何其他标题。
答案 2 :(得分:1)
我可以使用带有“表单数据”输入的POST请求在Postman中进行此工作。我将所有详细信息放在this堆栈溢出后。