You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Strapi上传API向Cloudinary传递裁剪与缩放参数?

在Strapi的Cloudinary上传配置中添加图片裁剪/缩放参数

你可以通过在actionOptions的upload和uploadStream配置项中添加transformation参数,直接传入Cloudinary的裁剪/缩放规则,实现上传时自动处理图片。

修改后的完整配置代码

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: {
                    // 上传时的图片处理规则
                    transformation: [
                        { width: 800, height: 600, crop: 'fit', quality: 'auto' },
                        // 可添加多组变换规则,按顺序执行
                    ]
                },
                uploadStream: {
                    folder: env("CLOUDINARY_FOLDER"),
                    // 流式上传的图片处理规则,和upload配置一致即可
                    transformation: [
                        { width: 800, height: 600, crop: 'fit', quality: 'auto' },
                    ]
                },
                delete: {},
            },
        },
    },
});

常用裁剪/缩放参数说明

  • crop:裁剪模式,常用值:
    • fit:按比例缩放图片,使其完全适配指定尺寸,不会裁剪
    • fill:按比例缩放图片,填充指定尺寸,超出部分裁剪
    • pad:按比例缩放图片,不足部分用背景色填充
    • scale:强制缩放到指定尺寸,不保持比例
  • width/height:目标尺寸,单位为像素
  • gravity:裁剪重心,比如face(人脸识别裁剪)、center(居中裁剪)
  • quality:图片质量,可设为auto(自动优化)或具体数值(1-100)

示例场景

  1. 生成300x300的正方形头像(人脸识别裁剪):
transformation: [{ width: 300, height: 300, crop: 'fill', gravity: 'face' }]
  1. 生成最大宽度800px的自适应缩放图(保持比例):
transformation: [{ width: 800, crop: 'limit' }]

所有参数对应Cloudinary的图片变换规则,你可以根据需求组合调整。

内容的提问来源于stack exchange,提问作者cts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 13:58:15