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

Node.js环境下如何在Cloudinary上传单图多尺寸版本并获取对应链接

Cloudinary 单图多尺寸同步上传实现方案

你不需要提前裁剪多张图片分别上传,Cloudinary 原生提供上传时预生成指定尺寸衍生图的能力,只需在原上传接口增加 eager 参数配置即可实现需求。

调整后的实现代码

await cloudinary.uploader.upload(
  imagePath,
  {
    // 配置需要预生成的所有尺寸规则
    eager: [
      { width: 200, height: 200, crop: "fill" },
      { width: 500, height: 500, crop: "fill" },
      { width: 1080, height: 1080, crop: "fill" }
    ],
    // 配置同步生成衍生图,确保回调返回时所有尺寸资源已生成可访问
    eager_async: false
  },
  (err, result) => {
    if (err) {
      return res.status(400).json({
        error: "Failed to upload file",
      });
    }
    // 提取三个尺寸的访问链接
    const sizeUrls = {
      200: result.eager[0].secure_url,
      500: result.eager[1].secure_url,
      1080: result.secure_url // 1080为原图尺寸,直接取原图链接即可
    };
    console.log(sizeUrls);
    // 后续可自行处理返回的链接数据
  }
);

参数说明

  • crop 字段可根据业务需求调整:
    • fill:等比缩放后裁剪多余区域,保证图片严格匹配设定的宽高尺寸,无变形
    • fit:等比缩放至完全适配设定的宽高范围,不裁剪,图片无缺失
  • 如果你不需要保留原图,也可以直接把1080x1080的规则放到eager数组里,上传时指定压缩参数降低原图存储成本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:15:03