在javascript中将图像直接上传到AWS S3

时间:2017-08-20 18:25:27

标签: javascript html amazon-web-services amazon-s3 aws-cognito

我正在开发一个定期上传图片和其他文件的网络应用程序。我正在使用AWS Cognito服务作为身份验证方法。因为我使用JavaScript和HTML5,所以使用PHP SDK上传不起作用。任何人都可以给我一个完整的示例,使用Cognito对AWS S3进行身份验证并上传图像,并在成功时使用JavaScript检索上传图像的预览。

2 个答案:

答案 0 :(得分:1)

您可以使用AWS CloudFront Signed URLsAWS PHP SDK生成签名网址,以便使用AWS JavaScript SDK直接从浏览器执行上传。

getSignedUrl ( string $url, string|integer|null $expires = null, string $policy = null )

所涉及的流程来自浏览器,您将请求具有到期时间的URL,以允许将文件上载到存储桶。在对用户进行身份验证后,您可以使用PHP后端和AWS SDK编写Sign url创建,如本例所示。

使用Signed URL和AWS JavaScript SDK for S3,浏览器可以直接将文件上传到S3。

有关签名网址的详细信息,请查看Signed URLs Work

的方式

答案 1 :(得分:0)

谢谢大家,我在这个链接中找到了正确答案。

http://www.tothenew.com/blog/aws-s3-file-upload-with-progress-bar-using-javascript-sdk/