为什么struts2上传文件自动保存到tomcat下,如何更改成自定义路径?

Stringroot=ServletActionContext.getRequest().getRealPath("D:\\新建文件夹");;我认为改这句代码,可是系统提... String root=ServletActionContext.getRequest().getRealPath("D:\\新建文件夹");
;我认为改这句代码,可是系统提示我找不到文件夹(系统自动去tomcat文件夹下面找了)
展开
 我来答
_文独__
推荐于2017-10-05 · 超过21用户采纳过TA的回答
知道答主
回答量:68
采纳率:83%
帮助的人:22.1万
展开全部
1:上传的路径是可以自定义的
2:上传需要的jar包:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
3:直接上主要代码:
(1)jsp页面:
<form action="./user/upload.action" method="post" enctype="multipart/form-data">
上传文件:<input type="file" name="upload"><br>
<input type="submit" value="上传">
</form>
(2)struts配置:
<package name="example" namespace="/user" extends="struts-default">
<action name="upload" class="com.struts2.action.UploadAction" method="upload">
<result name="success" type="dispatcher">/example/success.jsp</result>
</action>
</package>
(3)java代码:
public class UploadAction {
private File upload;
private String uploadFileName ; //格式 <input name="upload"> + FileName ;
private String uploadContentType ; //格式<input name="upload"> + ContentType ;
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String upload() throws Exception {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(upload));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:/temp/"+uploadFileName));
byte[] b = new byte[1024*1024];
int i = bis.read(b);
while(i!=-1){
bos.write(b,0,i);
i = bis.read(b);
}
bos.flush();
bis.close();
bos.close();
return "success" ;
}
羊三问
推荐于2017-09-19 · TA获得超过183个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:90.6万
展开全部
服务器的根目录是tomcat的webapps,c盘、d盘都是本地的。相当于你电脑同时模拟客户端和服务器两台电脑,web程序在服务器这台电脑上,d盘在客户端上,当然找到不d盘。如果要测试,你可以直接用java最基本的io方法写本地程序,new File(String path);之类的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
samplezuo
2014-02-24 · TA获得超过320个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:254万
展开全部
ServletActionContext 这个context的上下文环境就是你的webapp,而你的app是在tomcat下

所以肯定是从tomcat下面找,如果你愿意 你可以把路径设置为任意你想要的
更多追问追答
追问
那需要怎么修改自动路径?
追答
貌似保存那块代码还是要你自己写的 路径你高兴怎么配置就怎么配置就是了 什么叫自动路径?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
竹林回音
2014-02-27 · 超过33用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:74万
展开全部
写完整路径就是了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式