从 Amazon S3 下载图像:前端或后端

问题描述

我正在开发一个 Angular-Laravel 应用程序(Laravel 用作我的 Angular 应用程序的 REST API),我正在使用 Amazon S3 文件存储系统上传照片。

现在我正在从我的 Laravel 服务器下载 Amazon S3 文件,然后它被 Angular 应用程序使用,但速度太慢了。

出于安全原因,我没有尝试直接从 Angular 加载 Amazon S3 图像:我担心它可能会被劫持和爆炸。

我的问题是,我是否使用了使用 S3 服务器的最佳方式?我应该直接从我的 Angular 应用程序加载它们吗?否则,有没有办法从我的 Laravel API 更快地加载它们?

非常感谢。

解决方法

Amazon S3 公开了一个 JavaScript SDK,可用于从 JS 应用程序调用 Amazon S3 操作。您可以使用此 API 从您的 Angular 应用程序执行 Amazon S3 操作。只要您保证自己的信用安全,就无需担心有人入侵您的帐户。

如果您不熟悉使用适用于 JavaScript 的 AWS 开发工具包来执行 Amazon S3 操作,请参阅开发人员指南。

What's the AWS SDK for JavaScript?

,

您应该让您的后端(在本例中为 Laravel 应用程序)生成一个预签名的 URL 并将其返回给前端。然后,您可以在前端使用该 URL 并直接向 S3 发出请求。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...