大家都知道文件上传后位置不能放置在webapps中,因为在下次重启时会被清理,有什么更好的方法能保存在服务其中通过地址去访问?之后联想到可以通过tomcat的servlet.xml中配置Host虚拟路径指向一个磁盘文件夹的绝对路径这样也可以方便的去通过服务器地址去访问,但是好梦不长,发现过几分钟自己配置的东西不见了又被清理了,有什么方法可以不被tomcat清理掉自己所配的虚拟路径指向?
题主 给一下 运行环境描述吧,按理是不会重置的
然后答一下正题
1.上传文件的问题,不配置虚拟路径也能读到;配置虚拟路径只是把它当成了资源看待,代码读取文件(文件保存是有文件地址记录)是把文件当做文件本身处理,其实是一样的操作目的,就是让文件变成项目可以用的。一般来说,上传文件不作为直接的资源文件,上传时记录文件存储地址,然后调用时通过地址读取(地址,不一定为硬盘地址,成型的文件系统的情况会较为复杂),不过分依赖容器自身
2.关于重置配置的问题,还请题主 给出 具体的运行环境,感觉问题在环境部署上
文件上传不是存放在临时空间中吗,不管怎么配置临时空间路径,它还是临时空间。
在tomcat中配置虚拟路径或者在其目录下的conf中的server.xml中的<Host>节点下配置
// <Context path="/项目名/虚拟的路径如pic,任何字符都可以" docBase="D:\upload\users\imgs"></Context>
//当你在项目中使用/pic时,实际使用的是D:\upload\users\imgs
楼主,我这样使用不会重置啊,是不是你的tomcat有问题会重置配置
不会重置把,也用的虚拟路径
tomcat配置参数出问题