Cloudinary 提供方
页面摘要:
@strapi/provider-upload-cloudinary包允许你将媒体库资源存储在 Cloudinary 上。本页介绍使用你的 Cloudinary 云名称、API 密钥和 API 密钥(secret)进行安装和配置。
媒体库功能由一个名为 Upload 的后端服务器包提供支持,该包利用提供方机制。
Strapi 为媒体库维护 3 个提供方。本页介绍 Cloudinary 提供方的安装与配置。对于其他提供方,请参阅媒体库页面中的列表。
安装
要安装官方 Strapi 维护的 Cloudinary 提供方,请在终端中运行以下命令:
Yarn
yarn add @strapi/provider-upload-cloudinary
NPM
npm install @strapi/provider-upload-cloudinary --save
配置
提供方配置定义在/config/plugins 文件中。如果该文件不存在,请先创建它。提供方配置接受以下条目:
provider用于定义提供方名称(即cloudinary)providerOptions用于定义在构建提供方时传递下去的选项(有关选项的完整列表,请参阅 Cloudinary 文档)actionOptions用于定义分别直接传递给每个方法参数的选项。官方 Cloudinary 文档列出了 upload/uploadStream 和 delete 的可用选项。
JavaScript
module.exports = ({ env }) => ({
// ...
upload: {
config: {
provider: 'cloudinary',
providerOptions: {
cloud_name: env('CLOUDINARY_NAME'),
api_key: env('CLOUDINARY_KEY'),
api_secret: env('CLOUDINARY_SECRET'),
},
actionOptions: {
upload: {},
uploadStream: {},
delete: {},
},
},
},
// ...
});
TypeScript
export default ({ env }) => ({
// ...
upload: {
config: {
provider: 'cloudinary',
providerOptions: {
cloud_name: env('CLOUDINARY_NAME'),
api_key: env('CLOUDINARY_KEY'),
api_secret: env('CLOUDINARY_SECRET'),
},
actionOptions: {
upload: {},
uploadStream: {},
delete: {},
},
},
},
// ...
});
说明
- Strapi 有一个默认的
security中间件,其contentSecurityPolicy非常严格,只允许将图片和媒体加载限制为"'self'"。更多信息请参阅提供方页面上的示例配置或中间件文档。 - 当每个环境使用不同提供方时,请在
/config/env/${yourEnvironment}/plugins.js|ts中指定正确配置(参见环境)。