如何在节点js的预签名url请求中发送内容md5header
How to send content md5 header in the presigned url request of node js
我想检查上传到 S3.So 的 object 的完整性 我想包括 md5 header 所以每当有人使用那个 url 他们应该只上传有效内容。
仅供参考:我将从 UI 获取 md5 内容到我的服务。
const params = {
Bucket: bucket,
Key: id,
Expires: 300,
Metadata: metadata,
};
this.s3ClientAccelerate.getSignedUrl('putObject', params);
像这样添加ContentMD5即可。
const params = { Bucket: bucket, Key: id, Expires: 300, Metadata: metadata,ContentMD5: md5, };
并确保在客户端 headers 中传递 Content-MD5。
signedUrl
,正如我们从它的名字可以理解的那样,使用其必需的headers和用户自定义的headers来签署URL。如果你想从签名的 URL 验证请求,你只需要在 signedUrl
创建时附加相关的散列,如果请求的签名与 [=11] 的签名不匹配=],它将以 SignatureDoesNotMatch
错误响应。
const params = {
Bucket: bucket,
Key: id,
Expires: 300,
Metadata: metadata,
MD5: uiMD5
};
this.s3ClientAccelerate.getSignedUrl('putObject', params);
我想检查上传到 S3.So 的 object 的完整性 我想包括 md5 header 所以每当有人使用那个 url 他们应该只上传有效内容。 仅供参考:我将从 UI 获取 md5 内容到我的服务。
const params = {
Bucket: bucket,
Key: id,
Expires: 300,
Metadata: metadata,
};
this.s3ClientAccelerate.getSignedUrl('putObject', params);
像这样添加ContentMD5即可。
const params = { Bucket: bucket, Key: id, Expires: 300, Metadata: metadata,ContentMD5: md5, };
并确保在客户端 headers 中传递 Content-MD5。
signedUrl
,正如我们从它的名字可以理解的那样,使用其必需的headers和用户自定义的headers来签署URL。如果你想从签名的 URL 验证请求,你只需要在 signedUrl
创建时附加相关的散列,如果请求的签名与 [=11] 的签名不匹配=],它将以 SignatureDoesNotMatch
错误响应。
const params = {
Bucket: bucket,
Key: id,
Expires: 300,
Metadata: metadata,
MD5: uiMD5
};
this.s3ClientAccelerate.getSignedUrl('putObject', params);