您的位置:首页 > 编程语言 > Java开发

strut2 加 common-fileuplad组件做文件上传

2014-02-23 00:00 134 查看
今天用strut2 加 common-fileuplad组件做文件上传,遇到了点问题,后来百度解决,总结如下:

前台界面写在jsp中:

<form class="fileupload-buttonbar" action="UploadAction!upload.action" enctype="multipart/form-data" method="post">
<input class="fileinput-button" type="file" name="uploadfile" id="file" />
<br>
<input class="btn btn-primary btn-lg btn-block" type="submit" value="上传"/>
</form>


后台处理在继承自ActionSurpport的Action中(以下为主要属性和方法):

private File uploadfile;
private String uploadfileFileName ;
private String uploadfileContextType;

public String upload() {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
//文件类型
String fileType = uploadfileFileName.substring(uploadfileFileName.lastIndexOf(".") + 1);
//文件保存目录路径
String savePath = ServletActionContext.getServletContext().getRealPath("/") + "FileDir/";
//检查文件保存目录路径
UploadFileKit ufk = new UploadFileKit(new File(savePath));
if(!ufk.checkUploadDir()) {
return ERROR;
}

try {
FileUtils.copyFile(uploadfile, new File(savePath, UploadFileKit.getFileName(fileType)));
} catch (IOException e) {
e.printStackTrace();
}

return SUCCESS;
}                         seter and geter …………


注意彩色部分: 文件上传控件的name属性值要和action的属性对应起来,例如: <input type="file" name="a"> 则 action中的属性要是这样

private File a;

private String aFileName;

private String aContextType;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息