【问题标题】:How do you display an image from s3 on a website? [closed]如何在网站上显示来自 s3 的图像? [关闭]
【发布时间】:2019-12-29 07:57:23
【问题描述】:

我是 web 开发和 s3 的新手,我想知道如何才能显示存储桶内的图像,我能够获取存储桶内的图像和文件夹名称列表,但我想知道如何显示图像。我需要在 html 中为我的图像标签提供 URL 吗?

【问题讨论】:

  • 您的问题到底是什么?如何在您的存储桶中创建图像的 URL?或者如何在网页中显示图片?
  • 最佳实践是什么?我的最终目标是在我的网站上显示图像,唯一想到的是使用 URL,但我不确定是否有更好的方法来实现。
  • 要在网页中显示图像,您基本上有两种可能的方式:通过 URL 和通过 base64 编码图像。如果您可以从 s3 检索图像的直接 URL,则最简单的方法是通过 URL
  • 能否把你的问题问得更清楚一点,并提供一些代码 sn-p 让我们更好地理解你的代码?谢谢。

标签: node.js angular amazon-web-services amazon-s3


【解决方案1】:

可以使用普通的<img> 标签将存储在 Amazon S3 中的图像包含在网页中。

要使用的 URL 显示在 Amazon S3 控制台中,但类似于:

http://BUCKETNAME.s3-REGION.amazonaws.com/folder/image.jpg

例如:

http://my-images.s3-ap-southeast-2.amazonaws.com/logos/foo.jpg

对象必须可公开访问。这可以通过以下几种方式完成:

  • 对象本身可以标记为公共
  • 桶上的桶策略可以将整个桶或桶的一部分指定为公开的
  • 可以使用Amazon S3 pre-signed URLs 扩充URL,它提供对私有对象的临时访问。此方法非常适合向特定用户提供对私有图像的访问权限。

【讨论】:

    【解决方案2】:

    有两种显示图像的方式:

    1) Base64

    2) 网址

    使用multer 可以轻松集成这两种方式

    如果您将图像存储在 S3 中,您需要向其提供公共访问权限,以便您可以访问该图像。

    将图像存储到 S3 后,它会创建一个 URL,您可以在前端使用该 URL 来呈现该图像。

    谢谢

    【讨论】:

      猜你喜欢
      • 2015-03-02
      • 2013-03-11
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 2018-08-05
      • 2021-12-08
      • 2016-03-11
      相关资源
      最近更新 更多