java删除上传到oracle数据库的图片,删除记录的同时删除数据库本地图片,如何删除记录的同时定位到图片?

图片字段
本地路径F:/java/Tomcat7/webapps/cusi/append/cusm/
sql.setLength(0);
sql.append("delete from cusm_fix where ");
sql.append("rid='").append(bean.getId()).append("' ");
sql.append(" and id='").append(bean.getBak()).append("' ");
po.execSql(sql.toString());
File File1 = new File("F:/java/Tomcat7/webapps/cusi/append/cusm/");
定位不到需要的图片
File1.delete();
return 0;
求高手给改一下 新手学习

第1个回答  2016-09-13
1、明白一些概览:
1)上传的图片并没有真正的存储在oracle数据库里,orcale数据库里其实存储的是图片的路径。
2)从浏览器上传图片到后端Action,action调用相应文件存储逻辑(文件存储系统)由文件存储系统完成图片的存储,并返回文件的路径。最后将这个路径保存到oracle数据库(这个部分可以很简单也可以很复杂视实际情况而定)。
2、相关删除逻辑,通过数据库里的文件路径找到实际的存储位置执行删除。删除成功后再删除数据库里相关记录。
第2个回答  2016-08-31
其实这个问题 = 如何找到本地图片 并且确认 上传的就是这一张图片。

需要考虑: 如果在本地改了图片文件名 或者 改了图片的存储路径
如果 上面的不考虑的话:
可以在上传的时候 纪录下来本地的存储路径及文件名,删除时 获取纪录的信息进行file操作删除。 如果用户做了文件的修改(如上面所说的)找不到就没法删 就不管了。
第3个回答  2016-07-08
1、删除该条记录得时候拿到图片得路径再删除.
2、当记录删除成功后,通过路径得到File对象,然后delete文件
3、完成
第4个回答  2016-07-22
一般数据库上传照片的时候 会插入一条记录,记录了文件的基本信息,包括路径或者二进制数据
你要删的时候 肯定是要知道文件的地址的然后再通过File删除就可以了
第5个回答  2016-08-09
你删除之前先查出来图片的地址,然后先用输入流把这个图片删掉,然后再删掉数据库里面的这个记录应该就行了吧
相似回答