图片删除问题
上传的图片都保存在数据库中,但有时上传图片时会产生垃圾图片
如 数据库中保存有十个图片,而上传图片文件夹中确有十二个图片,
怎么样把多余的两个图片删除掉 ,
其实就是数据库中图片怎么和文件夹中的图片比较,把多余的删除掉
怎么会产生垃圾图片?
也就是说数据库图片数量和文件夹的图片数量为什么不一样?
你的数据库保存的是路径还是文件?
是路径的话直接找看有没有该文件不就行了.是文件的话那为什么要存两份?
图片应该是放在表的某个字段里,把相应的那条记录删了即可
为什么非要保存两遍呢?
只保存到一个目录或者只保存到数据库不是更节省空间么?
即便是 保存两份 也可以在删除数据库记录的同时删除图片文件啊
怎么会有垃圾呢?
即便是没能做到同步,也可以以删除所有图片文件再从数据库读出重新生成一遍的方式 清除垃圾图片
数据库的数据是用程序删除的还是手工删除的?
如果是程序删除的,在删除数据库数据的同时也应该写段代码删除相应的图片
如果是手工删除的,那只好也手工删除多余的图片了
如果数据库之保存记录,在删除数据库记录的同时删除物理文件即可
你的图片是入库了的
你在更新的时候就检查原来数据库图片字段是否为空
如果是,先把那张图片删除了,再更新图片字段
你可以先把你删除的那条记录的图片名取出来,然后判断
string imagepath=Server.MapPath("")+"\\Images\\"+str;
if(System.IO.File.Exists(imagepath))
{
System.IO.File.Delete(imagepath);
}
这样就不会有多余的图片了啊