tomcat重启或关闭后,上传文件消失

今天我负责的活动模块出现了一个奇怪的问题,当tomcat服务器重启时,之前上传的活动图片就不见了,刚开始以为是发版脚本出了问题,后检查排除,再去找代码,看到在保存文件时,有一步出现错误:

File file = new File("xxx");
File dest = new File("xxx_new");
dest.deleteOnExit();
file.renameTo(dest);
由于图片要用活动的id编号命名,所以需要在保存了活动数据以后,获取了id,然后将上传的图片重新命名,而上面几句话,我原本的意图是:

获取上传了的图片,new一个新的图片名称,把原来的图片名换为这个图片名,如果本来就有一个文件叫这个新图片名,就先把这个文件删除再重命名。但这个地方看错了,把

deleteOnExit()理解为了deleteOnExist(),而deleteOnExit()的含义为,当jvm退出时,删除该文件。

所以,就出现了上面,tomcat关闭或重启后,图片消失的问题。

你可能感兴趣的:(tomcat重启或关闭后,上传文件消失)