请查看s3策略中的"content-length-range"。有关详细信息,请参见http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-HTTPPOSTConstructPolicy.html。在POST策略中,条件是一个对象数组,用于验证所上传对象的内容。您可以使用这些条件来限制请求中允许出现的内容。表格中指定的每个表单字段(除了x-amz-signature、文件、策略和具有x-ignore-前缀的字段名称)都必须出现在条件列表中。content-length-range是一个支持内容长度范围匹配类型的条件,用于指定上传内容的最小和最大允许大小。
我已经完美地解决了这个问题!虽然POST策略可以工作,但使用预签名URL更加舒适。 我使用nodejs作为后端,并使用getSignedUrl来限制上传文件的大小。 只需要修改aws-sdk代码的三行即可。我已经尝试过,它可以很好地工作。 我不知道为什么nodejs的aws-sdk不支持它。如果有原因,请与我分享。 首先,打开“node_modules/aws-sdk/lib/signers/v4.js”,注释以下两行 其次,打开“node_modules/aws-sdk/lib/services/s3.js”,注释以下一行 第三步,编写代码生成预签名 URL 并上传文件