java web项目有一个上传图片功能,使用的是xheditor插件中的图片上传功能。遇到一个问题:文件上传到服务器上是没问题的,但是重启服务器或者重新部署以后以前上传的图片都会丢失,原因是文件上传到服务器以后需要写到一个真实的磁盘路径下,所以需要有绝对路径,用这种方式获取:
String uploadPath = request.getSession().getServletContext().getRealPath("/uploadImg") ;
这样获取到的是tomcat的安装目录C:\Program Files (x86)\apache-tomcat-6.0.30\wtpwebapps\myProject\uploadImg。每次重启或部署就会覆盖掉tomcat下面的应用程序,肯定是不行的。
String uploadPath = request.getSession().getServletContext().getRealPath("/uploadImg") ;
这样获取到的是tomcat的安装目录C:\Program Files (x86)\apache-tomcat-6.0.30\wtpwebapps\myProject\uploadImg。每次重启或部署就会覆盖掉tomcat下面的应用程序,肯定是不行的。
解决办法就是将图片上传到虚拟路径下:
在tomcat的server.xml文件中host之间添加 <Host><Context docBase= "D:/images" path= "/img" /> </Host>
然后就可以这样访问了localhost:8080/img/xxx为了方便应用的迁移,在java代码中最好不要使用绝对路径,所以就用到了
配置文件,在src目录下新建一个imgPath.properties文件配置两个键值:imgPath= / img,imgRealPath=D:\\images ;
本文介绍了一种解决在JavaWeb项目中使用xheditor插件上传图片后重启服务器导致图片丢失的方法。通过将图片上传路径从Tomcat应用程序目录更改为独立的虚拟路径,并通过配置文件来管理实际路径。
5524

被折叠的 条评论
为什么被折叠?



