admin管理员组

文章数量:1660065

项目场景

某现场由于安全要求较高,要求服务器不能保存人员照片,在提取照片特征值保存之后,需要把照片删掉


问题描述

在本地测试中使用file.delete()方法可以正常删除文件,但是部署到现场后发现使用代码无法删除文件,但是在文件夹中可以正常手动删除该文件。

@Override
	public void run() {
		  boolean delete = file.delete();
          if (delete){
              log.info("删除照片-删除成功:{} ",path);
          }else {
              log.info("删除照片-删除失败:{} ",path);
          }
	}

原因分析:

由于代码无法删除,但是在文件夹中可以正常删除,所以应该不是照片资源被占用了(如果文件夹中无法正常删除,可排查代码中是否有未关闭的流),初步分析是服务没有删除文件的权限。


解决方案:

修改tomcat服务器为本地账户,并允许与桌面交互

本文标签: 本地文件方法项目JavaDelete