解决Tamcat重新部署删除临时上传文件的问题

来源:互联网 发布:.java自学视频 编辑:程序博客网 时间:2024/05/23 05:08

前两天遇到了一个问题:上传到Tamcat服务器的图片文件在重新部署Tamcat了时候莫名的自动删除掉了,如果将文件保存在部署外的路径又访问到文件,一直没有解决,查找了很多,终于解决了,给大家说下解决方法:

1、首先,不要将文件保存到Tamcat的项目部署文件中,如果保存在这里的话,每次Tamcat重新部署都会删除掉我们临时上传的文件,我们可以保存在另外的地址,比如:D:\myFile,D盘下的一个文件夹,这样文件就可以不被删除掉

2、其次,如果想要在网页上通过Tamcat服务器访问文件就需要通过配置Tamcat的server.xml文件,配置步骤:

(1)Tamcat的目录下有一个conf文件夹,打开这个文件夹中的server.xml配置文件

(2)找到<Host>...<Host>标签,在此标签中插入一条语句,如下:

<Context path="/myfile" docBase="D:\myFile"  reloadable="true"/>

path=任意命名(如:/myfile),就是一个虚拟路径

docBase=文件保存所在的路径(如:D:\myFile),真实路径

其中:path=指的是你在浏览器上访问的路径,其实就是一个虚拟路径,其真正访问的是docBase所指的路径D:\myFile

也就是说当你在浏览器访问http://localhost:8080/myfile/1.jpg网址的时候,Tamcat会自动去Window的D:\myFile盘下寻找1.jpg图片

(3)配置好之后,启动服务器,就可以在页面上使用了,例如:

在html上写一个img标签<img id="imgbox" src="/myfile/1.jpg">可以访问到文件图片,

或者直接在浏览器输入:http://localhost:8080/myfile/1.jpg,一样可以显示出来图片,说明已经配置成功了

但是这种配置方式每次重新启动Tamcat的时候插入的语句会被自动删除掉,也就是每次Tamcat重启都需要再配置一次

3、最后,还有一种配置方式就是在Tamcat的conf/Catalina/localhost目录下新建一个XML文件,任意命名,在该XML文件中写上语句:

<Context path="/myfile" docBase="D:\myFile"  reloadable="true"/>既可,可以达到和上边设置一样的效果,但是该文件在每次重启Tamcat服务器的时候不会被自动删除,使用也比较灵活,所以推荐使用方法3

原创粉丝点击