如何从浏览器下载图像&上传到Amazon S3

时间:2017-06-22 14:07:32

标签: javascript image amazon-web-services amazon-s3 download

如何让客户端在浏览器中上传图像,然后将其上传到Amazon S3?我一直在四处寻找,并没有找到解释如何做到这一点的资源。

我可以遵循任何教程吗?

我应该使用哪些库吗?

我在前端使用AngularJS,在后端使用Node.js。

2 个答案:

答案 0 :(得分:1)

简而言之,寻找两个不同的教程。一个用于从客户端上传到服务器,一个用于从服务器上传到S3。

StackOverflow不鼓励链接到特定的教程,但是它们中有很多,所以它不应该太难以追踪。

对于客户端到服务器,您希望将基本HTML表单上传到服务器,然后阻止数据。您可以暂时将其写入您的文件系统(如果您在Linux上,/tmp目录是存放它的好地方)。

之后,只需从服务器上传到S3即可。亚马逊本身就有一些很好的文档。 Node的s3包也有很好的例子:https://www.npmjs.com/package/s3

也可以直接从浏览器转到S3,根据您的使用情况,这可能会更好。看看这个:http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-photo-album.html

答案 1 :(得分:1)

您需要AWS SDK for node。然后他们有一个非常全面的developper guide。您可能还必须阅读凭据管理。

程序如下

  1. 用户将图片从浏览器上传到您的服务器(我推荐plain form upload,除非您对uploading via ajax感到满意)
  2. 然后您的服务器uses the SDK保存到S3
  3. 您向用户显示回信息(链接到图像,上传状态?)。
  4. 您也可以使用pre-signed posts,但这似乎更高级,我还没有看到Node的信息。