您能否告诉我任何可用于在Tomcat临时文件夹中存储文件的Java代码,以便一旦使用(下载)它将被自动删除?
答案 0 :(得分:2)
有很多方法可以做到这一点,你应该探索CATALINA_HOME
环境变量,因为它指向Tomcat安装目录。
<强>更新强> * 试试这个: *
@SuppressWarnings("restriction")
BASE64Decoder decoder = new BASE64Decoder(); // Decode encoded string into original byte array
System.out.println("in try ");
System.out.println("imagestring "+ imageString);
byte[] decoded = decoder.decodeBuffer(imageString);
System.out.println("image"+ decoded);
BufferedImage image = ImageIO.read(new ByteArrayInputStream(decoded));
File f = new File(System.getenv("CATALINA_HOME") + "/temp");//TomcatHome director/tempfolder
System.out.println(f.getAbsolutePath());//debug like this
if(!f.exists()){
f.mkdir();//make temp folder if it does not exist
}
ImageIO.write(image, "jpg",new File(f.getAbsolutePath() + "/yourimagename.jpg"));//write image to to the temp folder
}
//do some other Processing
File file = new File(f.getAbsolutePath() + "/yourimagename.jpg");
if(file.exists()){
file.delete();
}
处理完毕后,您可以按常规方式file.delete();
您需要确保环境变量CATALINA_HOME
指向Tomcat基目录。
答案 1 :(得分:-2)
在jsp中,此行提供临时文件夹路径,您可以使用此路径存储文件<%=System.getProperty("java.io.tmpdir")%>