Cloudinary overwrite=false 仍然上传现有图像作为新图像

Cloudinary overwrite=false still uploads existing image as a new image

我正在使用 cloudinarys python 模块。 我在上传时遇到了一些麻烦。 我正在从 url 上传图片,如果图片已经上传,我不想再上传。 但截至目前,该图片会再次上传,但会以新图片的形式上传。

imagedata = cloudinary.uploader.upload("cloudinary.uploader.upload("https://akamai.vgc.no/drfront/images/2021/10/01/w=1080;h=710;636204.jpg", folder="vg", overwrite=False)

这就是我上传的方式,return是:

{'asset_id': 'c78b6d70ab1a1b8b7f76f67fa0695b7d',
 'public_id': 'vg/qcn4iq7jmhcohilyhlnv',
 'version': 1633332569,
 'version_id': '54c177500b747897946a8d8388988850',
 'signature': '8d04ad85f08ef00cf531f27f9f53380cccd80c4d',
 'width': 1080,
 'height': 710,
 'format': 'jpg',
 'resource_type': 'image',
 'created_at': '2021-10-04T07:29:29Z',
 'tags': [],
 'bytes': 132493,
 'type': 'upload',
 'etag': '8ddcfbf1ecd556dff38e41c62a201b2c',
 'placeholder': False,
 'url': 'http://res.cloudinary.com/mycloud/image/upload/v1633332569/vg/qcn4iq7jmhcohilyhlnv.jpg',
 'secure_url': 'https://res.cloudinary.com/mycloud/image/upload/v1633332569/vg/qcn4iq7jmhcohilyhlnv.jpg',
 'original_filename': 'w=1080;h=710;636204',
 'api_key': 'mykey'}

如果我再次 运行 相同的代码,我的印象是图像不会重新上传,而是使用附加 属性 existing: true

重新调整相同的数据

但它上传的图像与 cloudinary 中的新图像相同,这是 return:

{'asset_id': '498fe21c04b0fec97200c461df586045',
 'public_id': 'vg/pvvwkwqginvouraey9zq',
 'version': 1633333265,
 'version_id': '51c8e37cdceb002ba995ca50a4c88051',
 'signature': 'b451fcfc71e29eeda96cf80af5756fb95077c62c',
 'width': 1080,
 'height': 710,
 'format': 'jpg',
 'resource_type': 'image',
 'created_at': '2021-10-04T07:41:05Z',
 'tags': [],
 'bytes': 132493,
 'type': 'upload',
 'etag': '8ddcfbf1ecd556dff38e41c62a201b2c',
 'placeholder': False,
 'url': 'http://res.cloudinary.com/mycloud/image/upload/v1633333265/vg/pvvwkwqginvouraey9zq.jpg',
 'secure_url': 'https://res.cloudinary.com/mycloud/image/upload/v1633333265/vg/pvvwkwqginvouraey9zq.jpg',
 'original_filename': 'w=1080;h=710;636204',
 'api_key': 'mykey'}

哪里搞砸了?

在您的上传中不指定 public_id - 并且不应用任何上传预设,默认情况下将分配一个随机文件名。你可以试试这个代码:

imagedata = cloudinary.uploader.upload("cloudinary.uploader.upload("akamai.vgc.no/drfront/images/2021/10/01/w=1080;h=710;636204.jpg", public_id="vg/qcn4iq7jmhcohilyhlnv", overwrite=False)