怎样上传文件到java web项目中,而不是tomcat服务器中

xilige550474890 2012-07-16 03:25:35
RT,怎样上传文件到java web项目中,而不是tomcat服务器中,望大虾们指教,在线等.
...全文
5317 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
王者_来归 2013-01-20
  • 打赏
  • 举报
回复
我同样有这样的问题,楼主是怎么样解决的,求教了! 我的tomcat安装在d盘,项目开发目录在e盘,比如我的项目名叫test那我想要得到e:/workspace/test该怎么做? 我已经在tomcat的server.xml中增加:<Context path="/test" docBase="E:/workspace/test" reloadable="true"/>了,但是我在代码中使用: request.getSession().getServletContext().getRealPath("/") 得到的还是tomcat的安装目录。 请问你的问题是怎么解决的,谢谢!
xilige550474890 2012-07-16
  • 打赏
  • 举报
回复
嗯,楼上这样说我貌似懂了,感谢楼上的解答,跪谢了!
lip009 2012-07-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
我项目的目录
C:\workspace\HuLianVer4\webparent\UserPlatform\src\main\webapp\WEB-INF\views\help\upload
用request.getSession().getServletContext().getRealPath("/")得到的却是这个
C:\workspace\.metadata\.plugins\org……
[/Quote]

C:\workspace\HuLianVer4\webparent\UserPlatform\src\main\webapp\WEB-INF\views\help\upload
这个明显是你的开发路径

C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\UserPlatform\
这个是你用eclipse开发过程中,使用eclipse自带的tomcat发布项目的位置

获取路径的代码没有问题,只是你使用了eclipse来自动部署应用,获取的肯定是eclipse部署的位置,也是真实的项目运行路径,要想获取你自己想要的路径,必须你自己手动部署项目到指定目录,同时在tomcat里手动配置Context,才能达到你想要的效果。
xilige550474890 2012-07-16
  • 打赏
  • 举报
回复
我希望的是得到项目的目录
C:\workspace\HuLianVer4\webparent\UserPlatform
yangmingzhe_2012 2012-07-16
  • 打赏
  • 举报
回复
楼上的方法肯定可以的,你也可以利用磁盘映射的方式或者做一个*.properties文件,存放一下路径。
方式应该有很多种吧!
xilige550474890 2012-07-16
  • 打赏
  • 举报
回复

我项目的目录
C:\workspace\HuLianVer4\webparent\UserPlatform\src\main\webapp\WEB-INF\views\help\upload
用request.getSession().getServletContext().getRealPath("/")得到的却是这个
C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\UserPlatform\
lip009 2012-07-16
  • 打赏
  • 举报
回复
request.getSession().getServletContext().getRealPath("/")

这个获取的是项目实际的位置,而不是tomcat的目录.
比如tomcat目录是 D:/tomcat6/
项目部署位置 E:/project/test
tomcat配置:<Context path="/test" docBase="E:/project/test" reloadable="true"/>
上面的code获取的路径是E:/project/test,而不是D:/tomcat6/

请你作过尝试再下结论。
xilige550474890 2012-07-16
  • 打赏
  • 举报
回复
有没有高手指点一下啊?
xilige550474890 2012-07-16
  • 打赏
  • 举报
回复
我想实现成这样,直接在项目下面新建一个文件夹用来放上传的文件,不管项目部署在哪里,这文件都在
7L,8L都只能实现部分啊
whereusejava 2012-07-16
  • 打赏
  • 举报
回复
将文件保存的路径写成绝对路径(某个盘下面的文件夹下)
brightyq 2012-07-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

楼上的这方法是得到tomcat的目录啊,要是tomcat重启之后,我上传的东西就会丢失的
[/Quote]

tomcat重启,文件不会丢失,重新部署可能会丢。
楼主就写成绝对路径可以的。比如在window环境,就把路径地址写成f://myprojectdownload

不管你项目放在D盘,E盘,文件还是放到这个地址,不需反复修改上传地址。而且这个上传路径理应与项目路径分开。
xilige550474890 2012-07-16
  • 打赏
  • 举报
回复
楼上的这方法是得到tomcat的目录啊,要是tomcat重启之后,我上传的东西就会丢失的
lip009 2012-07-16
  • 打赏
  • 举报
回复

//通过request获取项目实际运行目录,就可以将上传文件存放在项目目录了,不管项目部署在任何地方都可以
request.getSession().getServletContext().getRealPath("/")+"uploadfile/";
forgetsam 2012-07-16
  • 打赏
  • 举报
回复
getRealPath()
xilige550474890 2012-07-16
  • 打赏
  • 举报
回复
这绝对路径怎么写,我项目有可能放在任何盘下,比如说我原先项目放在D盘,现在放E盘,那我不是又要改程序代码
flowerjack 2012-07-16
  • 打赏
  • 举报
回复
写绝对路径
flowerjack 2012-07-16
  • 打赏
  • 举报
回复
呃,你指定的路径不在tomcat不就可以了吗?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧