场景: 使用 ckeditor 编辑一条数据库记录中的 description,其中用 ckeditor 插入了一张图片,结果这条记录删除了,图片并没有被删除; 甚至,修改 description 时,把这个图片删除,也不能删除上传的图片;
google 了一下,貌似没有什么答案,请问这个如何破?
数据库里面只存储一个图片的路径/标识,删除数据的时候也仅仅删除数据库里面的数据。
要删除原始文件的话,需要在删除 db 数据的时候自己做关联处理。
如果富文本上传时,同时对图片做了处理,比如生成不同大小多个图,删除的时候也要考虑。(一般默认富文本框不会干这个)
重要的是,真的要删除原始图片么?真的要在删除 db 的时候同步删除图片么?一不小心删错了也要考虑。
#1 楼 @as181920 主要是,我看到 ckeditor_assets 这张表,用 ckeditor 上传后,图片都会在这里建相应的记录,但是把 ckeditor 描述中的图片引用删除后,是不会删除对应的记录,也不会删除对应的图片
难道在删除 db 数据或更新 ckeditor 编辑的内容的时候,去做关联处理,那不是要去搜索图片的引用然后再做处理?
最后,相关的记录都没有了,肯定得删除对应的图片资源啊,不然不是存着占空间,又没有用。
暂时空间足够,怕丢不怕多,大不了真多了根据数据做后台批处理。
这个没经验,估计还是要关联处理的,这种处理应该也有方案参考,不行再自己手写,
网上随便搜了下,比如http://stackoverflow.com/questions/4435826/rails-paperclip-how-to-delete-attachment
没时间深入,自己研究啦:)
#3 楼 @as181920 恩,多谢回复,自己搞搞去