jspsmartupload的上传路径问题

s_phoenix 2004-09-17 01:11:16
在我的机器上是这样的:
TOMCAT安装在目录A,现在建立了一个项目,实际存放目录为B,虚拟路径为MWEB,准备放置上传文件的目录为C,虚拟路径为UPLOAD。
请问在jspsmartupload中存放文件时路径应该怎么写呢?
使用getServletContext().getRealPath("/")获得的是项目的虚拟路径,即目录B。
如果我myFile.saveAs("/upload/" + myFile.getFileName());文件实际存放到从C:\UPLOAD目录下(WEB服务器安装在C盘。),并不是存放到我想要的目录C。
应该怎么做呢?
...全文
193 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jjprado 2005-07-27
同样问题,期待中。
回复
storejyjs 2005-06-01
可以这样:

String upload_path=request.getRealPath("").replace('\\','/')+"../upload";
回复
s_phoenix 2004-09-20
没办法了吗?
回复
cocohui 2004-09-18
我在这里问大家一个问题我单独上传文件能够取到文件名字。。可是要跟其他表单一起上传是。我不能把上传的文件的名字保存在数据库中可是其它的表单的值却在数据库中。。上传的文件的名字在数据库中显示 null 不知道为什么??
请教!!!
回复
cocohui 2004-09-18
myFile.saveAs("e:/upload/" + myFile.getFileName());

就可以!

试试看。我好象是那样的!
回复
s_phoenix 2004-09-18
这样不行,String path=getServletContext().getRealPath("/upload/");
获得的path实际是http://127.0.0.1/mweb/upload/而非http://127.0.0.1/upload。

路径不能直接写物理路径,因为发布之后的路径和我本地不同。
回复
s_phoenix 2004-09-18
myFile.saveAs("e:/upload/" + myFile.getFileName());
在项目中不能这样写啊。因为你并不知道项目发布后用户的实际存放地址。要求是存放到虚拟路径中(不能写死物理路径)。

其实问题就归结于如何获取网站的根目录对应的物理路径。
getServletContext().getRealPath("/")获取的是网站下一个应用程序的根目录。
回复
flyxxxxx 2004-09-17
String path=getServletContext().getRealPath("/upload/");
myFile.saveAs(path+myFile.getFileName());
回复
直接制定路径为c:\upload\
回复
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-17 01:11
社区公告
暂无公告