问题描述
我在Eclipse上运行项目的时候,在我用fileUpload上传图片,等到下一次Tomcat刷新的时候,这个照片就没了,而且点击查看那个文件夹也查看不到有图片文件。
原因
我后来在网上查询相关资料发现是Eclipse整
合Tomcat的问题,因为他们整合之后,你用相对路径上传的图片会上传到Tomcat服务器上面。但Eclipse的每一次项目代码的编译更新(热部署)或者重启Tomcat服务器,Tomcat服务器会把之前的项目文件删除, 并且随时保持于eclipse中项目的同步。所以图片上传之后一会儿就会消失。
解决方法1
不用相对路径,使用绝对路径。这样文件上传的地方就会是在本机的项目里面了,而Tomcat同步更新也不会有问题。
String fname = fi.getName();
String[] str = fname.split(\"\\\\.\");
String name = UUID.randomUUID().toString()+\".\"+str[str.length-1];
String filePath = \"E:\\\\Java\\\\Web\\\\yueyouwang\\\\src\\\\main\\\\webapp\\\\tupian\\\\\";//创建一个存放上传文件的目录
b.setFengmian(\"tupian/\"+name);
fi.write(new File(filePath,name));
fi.delete();
但这个方法有一定的缺陷性,你每次上传了一个新的图片之后,你直接在网页查看不了,你要到Eclipse的那个文件夹鼠标右键点击刷新之后,才能在网页上看到你上传的图片。
解决方法2
因为这是Tomcat服务器与Eclipse同步的问题。所以,我将项目打成war包再放到Tomcat服务器下运行就没问题了。
来源:https://www.cnblogs.com/ML-star/p/16351372.html
本站部分图文来源于网络,如有侵权请联系删除。