AWS S3标准上载方案与节点中基于浏览器的上载方式

时间:2017-01-08 20:03:56

标签: node.js amazon-web-services file-upload amazon-s3 aws-sdk

我试图了解标准AWS S3上传方案(例如使用aws-sdk)和基于浏览器的上传之间的实施差异,特别是在node.js中。

我理解在任何情况下,都需要有一台服务器来存储我的AWS凭证并将请求签名给S3。

但是有一些我似乎无法理解的事情:

  • 如果我使用基于浏览器的上传,我在客户端会有一个HTML表单,其中包含我从服务器获取的隐藏字段中的签名和策略值。但是,如果我使用标准方案上传文件,即完全通过我的服务器,它究竟是如何实现的?在服务器端实现上有很多代码示例,但客户端应该会发生什么?因此,将会有一个HTML表单,action属性指向我指定用于文件上传的服务器的URL,对吧?但实际会发生什么?该文件首先会上传到我的服务器存储,然后上传到S3吗?或者它会以某种方式使用流媒体或其他什么?这真让我感到困惑,我真的很感激一些代码示例,其中包括服务器和客户端代码。
  • 两种上传方案的优缺点是什么?我应该何时采用一种方法而不是另一种方法(我的个人用例 - 多帐户系统中的视频上传)?

0 个答案:

没有答案