AWS S3:我应该使用 POST 还是 PUT 请求来上传文件?

Dam*_*nni 7 javascript ajax amazon-s3 amazon-web-services

我想知道使用 POST 或 PUT 请求将文件上传到 Amazon Web Services S3 的优缺点。

我已经读过像一些SO问题这一个,但我想使用AWS API时知道具体差异。

我设法同时使用了两者,但几乎看不出区别。我通过 AJAX 和 XMLHTTPRequest 对象使用 PUT 和 POST,直接从浏览器上传,node.js 后端生成签名。

我注意到的不同之处在于,当我生成签名时,我无法使用 PUT 限制服务器端的内容类型和长度,但这可能是因为我现在才刚刚学习它。

Ash*_*han 1

除了您注意到的差异之外,使用 POST 时,您获得的响应还包含对象键名称。如果您并行上传多个对象,这非常有用,可以在回调中识别哪个上传成功或失败。

同样对于访问控制,您可以不同地使用 POST 和 PUT(例如不允许对象修改,而只允许创建)