很多时候项目都会涉及到图片上传功能。由于考虑到图片重名问题。都会将图片重命名为唯一的名称。所以在修改的时候 上传一张图片 后之前的那张图片就 没用了。有没有删除。就产生了垃圾图片。随着时间的推移这样的垃圾图片越来越多。最后很难去清理这样的图片哪些是有用的哪些是没用的。请问有经验的朋友 一般都怎么来处理这些图片。。怎么来进行管理比较好。如果是这种单图片上传的还好 可以在修改的时候 直接把原来的图片名称传过去。修改的时候就不自动生成新的图片名了 这样修改的时候上传的图片就会用原来的图片名。上传上去后就覆盖掉原来的图片。这样就不会产生 垃圾图片。。但是现在很多项目都设计到多图上传。上传一般都是用的上传插件。。都是一起上传的这样 要来修改这个插件 去吧图片单独一张一张的名字都对应为修改前的名称好像有点困难。
1、上传的时候 把旧图片给删除
2、专门建一个旧图片的文件夹,然后生成按时间命名的文件夹名字,这样你生成新图片的文件夹,也按时间命名,需要的时候,通过时间来对比
其实可以在后台加入类似版本控制的功能
我觉得如果只是修改文件名的话,直接在数据库里改算了,实际文件不改,反正实际名也是一大串数字。如果是修改文件,那就删除原来的,创新的。
我的思路是,当你修改图片时,你肯定知道是那个图片不要了,比如说A图片不要了,你要是用B图片了,在B上传时,将A删掉就好了。
有时候 你上传的时候 回用到的是第三方的上传插件。。他上传图片 跟你数据保存不是一个步骤。。他可能是先上传图片 有可能 由于某种原因 他 上传图片上传错了 就多次上传了 图片。。第三方上传插件都是 先上传后 再返回一个 路径回来。然后在保存数据。也就是会说在保存数据 之前 图片就已经先上传了。。假如 我点击上传了图片。。突然 不小心 把浏览器给关了。这时数据还没保存。图片却上传了。那么这张图就找不到对应的数据。就算是垃圾图片了。
@yzy:
那也简单啊,既然上传图片过程不可靠,你就使用数据库来记录那些图片修改了啊
以前我做过一个类似的。不过做法是将图片存入到数据库的。可有参考参考
你可以这样,在数据库有一张附件表,附件表记录所有上传的附件信息,这样为后期维护,清理垃圾使用,你可以写一个定时任务程序,在某个时间点定时清理附件文件夹,没有在附件表存储的数据,定期清理就可以了。