fileUpload上传图片,图片消失

问题描述

我在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服务器下运行就没问题了。

标签: Java

添加新评论