如何删除我们网站中不再使用但存储在我们的图像服务器中的图像?

问题描述 投票:0回答:1

我正在开发一项功能,在表单中提供图像上传和删除选项。为了存储图像,我使用了 cloudinary 服务器并创建了两个用于上传和删除图像的 API。上传/删除图像时,我需要单击“保存”按钮来更新图像路径。现在的问题是,如果我不单击“保存”,那么图像将不会被跟踪。我想实现删除那些未跟踪图像的功能。但在 cloudinary 中没有内置功能可以做到这一点。

file-upload angular-forms cloudinary
1个回答
0
投票

有几种不同的方法可以实现您正在寻找的目标。你是对的,没有内置功能,但肯定有办法解决这个问题:)

首先,有标记,有两种方法可以做到这一点:

  • 您可以进行设置,以便在上传资产时应用一个名为“未跟踪”的标签。然后,您可以定期(例如使用 cron 作业)调用 Admin API 的通过标记删除资源 方法,并删除带有“untracked”标记的所有资产。但这确实存在风险,例如,如果用户在 cron 计划运行前 1 分钟上传图像,则可能会删除仍然可能需要的内容。要解决此问题,您可以使用 Cloudinary Search API 选择具有此标签的所有图像,早于特定时间范围(例如一小时)。然后您可以循环遍历结果,并通过 Upload API 的 destroy 方法发送删除请求。
  • 使用标签的另一种方法是,当用户点击“保存”按钮时,将名为“tracked”的标签应用于资产。然后,与上面类似,您可以搜索不带“跟踪”标签的资产,并相应地删除它们。

如果您不想使用标签,您可以每月甚至每周生成一次上次访问报告,这将告诉您在您定义的时间范围内已上传但尚未访问的所有资产。默认情况下,上次访问报告处于禁用状态,因此您需要联系 Cloudinary 的支持以请求启用它并将文档发送给您。

© www.soinside.com 2019 - 2024. All rights reserved.