Strapi上传图片至Cloudinary时自动旋转问题解决求助
解决Strapi上传图片至Cloudinary时自动旋转的问题
核心原因
图片自动旋转是因为Cloudinary默认会读取图片的EXIF方向信息并自动调整角度,哪怕你修改了Cloudinary上传预设,也可能被Strapi插件的上传参数覆盖导致不生效。
具体解决方案
直接在Strapi的上传插件配置中,给上传操作添加禁用自动旋转的参数,修改后的配置如下:
// ... upload: { config: { provider: "cloudinary", providerOptions: { cloud_name: env("CLOUDINARY_NAME"), api_key: env("CLOUDINARY_KEY"), api_secret: env("CLOUDINARY_SECRET"), }, actionOptions: { upload: { // 强制忽略EXIF方向信息,禁止自动旋转 transformation: { angle: "ignore" } }, uploadStream: { // 流上传场景同步配置,避免遗漏 transformation: { angle: "ignore" } }, delete: {}, }, }, }, // ... });
补充说明
angle: "ignore"会让Cloudinary完全忽略图片自带的EXIF方向元数据,保持图片原始的旋转状态。需要同时配置upload和uploadStream两个选项,因为Strapi上传图片可能会采用不同的处理逻辑。
如果之前配置过Cloudinary上传预设,确保预设里的angle参数没有设为auto(默认值),不过Strapi配置里的参数会直接覆盖预设,所以重点保证Strapi这边的配置正确即可。
配置完成后重启Strapi服务,再上传测试图片,自动旋转的问题就会解决。
内容的提问来源于stack exchange,提问作者chekirko
相关产品推荐
相关产品推荐

