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

Cloudinary Python SDK设置overwrite=False仍重复上传图片问题

问题原因
  1. overwrite参数的生效前提是你主动指定了上传资源的public_id。该参数的作用是:如果指定的public_id在你的Cloudinary资源库中已存在,overwrite=False时不会覆盖原有资源,直接返回已有数据且携带existing: true标识。你当前的代码没有指定public_id,Cloudinary每次上传都会自动生成随机的唯一public_id,两次上传的资源从标识层面就被判定为不同资源,overwrite参数不会生效,自然会生成新的资源记录。
  2. 你贴出的代码存在语法错误:多嵌套了一层cloudinary.uploader.upload调用,实际运行会触发语法报错,需要先修正该问题。
解决方案
  • 方案1:主动指定唯一public_id
    你可以提前计算待上传图片的内容哈希(如MD5、SHA1),将哈希值作为public_id传入上传接口,搭配overwrite=False即可实现相同内容图片不重复上传的需求,示例代码如下:
import hashlib
import requests

img_url = "https://akamai.vgc.no/drfront/images/2021/10/01/w=1080;h=710;636204.jpg"
# 下载图片计算内容哈希作为唯一public_id
img_content = requests.get(img_url).content
img_hash = hashlib.md5(img_content).hexdigest()

imagedata = cloudinary.uploader.upload(
    img_url,
    folder="vg",
    public_id=img_hash,
    overwrite=False
)
  • 方案2:使用Cloudinary内容去重规则
    你可以在Cloudinary控制台的上传配置中开启全局内容重复检测,或者配置对应上传预设的去重规则,开启后即使不指定public_id,Cloudinary也会根据文件内容匹配已有资源,避免重复上传。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:27:03