本地上传提供方

页面摘要: @strapi/provider-upload-local 包允许你将媒体库资源存储在本地服务器文件系统上。本页介绍安装和配置,包括用于控制最大上传文件大小的可选 sizeLimit 参数。

媒体库功能由一个名为 Upload 的后端服务器包提供支持,该包利用提供方机制。

Strapi 为媒体库维护 3 个提供方。本页介绍本地 Upload 提供方的安装与配置。对于其他提供方,请参阅媒体库页面中的列表。

安装

要安装该提供方,请在终端中运行以下命令:

Yarn

yarn add @strapi/provider-upload-local

NPM

npm install @strapi/provider-upload-local --save

配置

提供方配置定义在/config/plugins 文件中。如果该文件不存在,请先创建它。提供方配置接受以下条目:

  • provider 用于定义提供方名称(即 local)
  • providerOptions 用于定义在构建提供方时传递下去的选项。

对于本地 Upload 提供方,providerOptions 只接受一个参数:sizeLimit,它必须是一个数字。单位是字节,默认值为 1000000000(1 GB)。sizeLimit 对文件上传和文件替换都强制执行。增大此限制时,还需配置 body 解析器中间件 maxFileSize,以便文件可以被发送和处理(详见媒体库文档)。

以下是一个示例配置:

JavaScript


module.exports = ({ env }) => ({
  // ...
  upload: {
    config: {
      provider: 'local',
      providerOptions: {
        sizeLimit: 100000,
      },
    },
  },
  // ...
});

TypeScript


export default ({ env }) => ({
  // ...
  upload: {
    config: {
      provider: 'local',
      providerOptions: {
        sizeLimit: 100000,
      },
    },
  },
  // ...
});

与 AWS S3 和 Cloudinary 提供方不同,本地 Upload 提供方不需要特殊的安全中间件配置。默认配置已经允许从 self 加载图片和媒体。