我正尝试生成客户端可用于将图像上传到特定S3存储桶的预签名URL。我已经成功地生成的请求,以获取文件,就像这样:为Amazon S3生成最大内容长度的预签名PUT url
GeneratePresignedUrlRequest urlRequest = new GeneratePresignedUrlRequest(bucket, filename);
urlRequest.setMethod(method);
urlRequest.setExpiration(expiration);
其中到期和方法日期和列举HTTPMethod分别对象。
现在我试图创建一个URL来允许用户PUT文件,但我无法弄清楚如何设置最大内容长度。我找到了有关POST policies的信息,但我更愿意在这里使用PUT - 我也想避免构建JSON,尽管这看起来不可能。
最后,替代答案可能是某种方式将图片上传从API网关传递到Lambda,以便在验证文件类型和大小(这不是理想的)后,我可以将它从Lambda上传到S3。