如果是像思否这种在线平台,确实是可以: 1. 在删除图片的时候向后台发送请求同步删除存图; 2. 在服务器空闲时间段内,扫描比对所有文章/草稿,删除没有引用的图片。 但是对 Typora 这种本地用的编辑器,是不可能采用上述方法删除图片的。 原因很简单——markdown 文件可以复制,编辑器永远无法得知目前的文件是不是唯一副本,图片的链接是不是唯一引用,所以也就无从判断是否应该把删除动作同步到后端。 我能想到的缓解方案有二: 1. 定期冷归档,通过日志记录文件被访问的时间,长期无人访问的文件换用低成本的冷存储方案存储,下次有访问的时候多花点时间重新激活; 2. 线上/云上文件才使用图床,因为这部分文件是完全可以追踪的,线下文件不使用图床,图片存为 Base64 ,不过用户直接写md的时候,看到长长的 Base64 会比较糟心。