如何搜索云图像以查找其public_id
?当我上传图像以检查它是否已经存在时,这样我就不会有重复的图像
可以使用搜索 API 或通过管理 API 获取单个资源的详细信息。
话虽如此,上传 API 支持一个名为overwrite
的参数,该参数默认设置为True
。您可以将其设置为False
代码中,并像以前一样执行上传。在响应中,您将获得一个名为existing
的字段,该字段设置为True
或False
指示结果。如果存在False
则上传您传递的图像,因为该public_id
不存在任何资源。True
时,响应包含您账户中该public_id
下存在的资源的详细信息。
如果您想避免重复的图像,而不仅仅是通过public_id
来检查资源是否存在,那么您可以从每个 Upload 调用的响应中获取每个资源的ETag
,并将其与public_id
一起存储在您的数据库中。API 响应中返回的ETag
只是文件本身的 MD5 摘要,因此您可以在本地计算并与您拥有的该(或所有(public_id
的相关记录进行比较,并确定它是否是同一个文件,在这种情况下,跳过上传,或者在上传新图像时覆盖。