AWS
覆盖项
图像加载器

此覆盖由 OpenNext 使用,更具体地说是由图像服务器使用,以便能够从自定义源加载图像。图像不与图像服务器捆绑在一起,而是从覆盖中指定的源加载。

这仅用于内部图像(即没有主机的 src)。外部源已由图像服务器处理。

如果你想更好地了解如何实现自己的 ImageLoader,最简单的方法是查看现有的 内置 ImageLoader (opens in a new tab)

内置 ImageLoader

s3

S3 ImageLoader 将从 S3 存储桶加载图像。如果你在配置中没有提供任何 ImageLoader,则默认使用它。 它使用 @aws-sdk/client-s3 与 S3 交互。

要求
  • 你需要向服务器提供 BUCKET_KEY_PREFIXBUCKET_NAME 环境变量。

s3-lite

s3-lite ImageLoader 将从 S3 存储桶加载图像。它使用 aws4fetch 与 S3 交互。

要求
  • 你需要向服务器提供 BUCKET_KEY_PREFIXBUCKET_NAME 环境变量。
  • 也可以提供 BUCKET_REGION。它会回退到 AWS_REGION ?? AWS_DEFAULT_REGION。这应该由 AWS 自动设置。你可以在 这里 (opens in a new tab) 阅读更多关于这在 AWS Lambdas 上如何工作的信息。

host

Host ImageLoader 将从主机加载图像。 此实现将直接从主机获取图像。

要求

主机应在请求的标头中提供,即在 X-Forwarded-HostHost 标头中。

fs-dev

FsDev ImageLoader 是一个简单的实现,它从 .open-next/assets 文件夹加载图像并使用文件系统与之交互。它仅用于开发目的。

dummy

Dummy ImageLoader 是一个虚拟实现,它将抛出异常。不应使用它。