日期:2014-05-19  浏览次数:20615 次

怎么样上传文件到java的工作目录中,而不是服务器目录中(tomcat安装目录)
各位好:
如题,我在网上找了一些方法,但是还是不行,得到的还是tomcat安装目录!
我的tomcat安装在d盘,项目开发目录在e盘,比如我的项目名叫test那我想要得到e:/workspace/test该怎么做?
 我已经在tomcat的server.xml中增加:<Context path="/test" docBase="E:/workspace/test" reloadable="true"/>了,但是我在代码中使用:
 request.getSession().getServletContext().getRealPath("/")
 得到的还是tomcat的安装目录。
 请问怎么解决,谢谢!

------解决方案--------------------
直接添加一个属性文件、存储你想存储的路径!
然后上传文件的时候直接读取属性文件里面的值!
------解决方案--------------------
文件目录使用绝对路径。
------解决方案--------------------
1、request.getSession().getServletContext().getRealPath("/")取到的应该是tomcat应用根目录
2、建议lz用一个配置文件或配置项存放文件根目录,以后修改起来也方便,又不需要编译
------解决方案--------------------
在文件上传的过程中,由于开发环境和生产环境的不一致,开发环境一般是Windows,但是生产环境一般是Linux或者Unix,文件的目录结构和路径表示肯定是不一样的,所以有文件上传的,文件路径应该是在配置文件里面配置的。
------解决方案--------------------
打个比方,如果楼主的项目是很大的项目,图片、css、js等文件不可能放在同一个服务器上,因此楼主必须用地址去访问你存放这些的服务器,但是楼主自身项目不可能一次性写死这个资源地址,所以只有通过配置文件来配置,以后如果图片服务器发生迁移,只用改图片地址,项目正常运行,类似的其他的也一样。