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 应会自动设置此值。您可以在 AWS Lambda 文档中了解更多 (opens in a new tab)

host

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

要求

主机应通过请求头提供,可以是 X-Forwarded-HostHost 头。

fs-dev

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

dummy(虚拟)

Dummy ImageLoader 是一个会抛出异常的虚拟实现。它不应该被使用。