我知道使用此方法限制对象的上传大小:http://doc.s3.amazonaws.com/proposals/post.html#Limiting_Uploaded_Content
但我想知道如何在服务器端作为 IAM 用户使用 S3 SDK 生成预签名 URL 时完成此操作。
来自 SDK 的此 URL 在其参数中没有此类选项:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property
这两者都不是: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrl-property
请注意:我已经知道这个答案:AWS S3 Pre-signed URL content-length这不是我正在寻找的。p>
最佳答案
V4 签名协议(protocol)提供了在签名中包含任意 header 的选项。看: http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html 因此,如果您提前知道确切的内容长度,则可以将其包含在签名 URL 中。根据 CURL 的一些实验,如果您发送的内容超过 Content-Length header 中指定的内容,S3 将截断文件。这是一个示例 V4 签名,签名中包含多个 header http://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html
关于amazon-web-services - 使用预签名 URL 上传到 Amazon S3 时限制对象大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25991275/