struts2 单个文件上传的三种方法以及多文件上传
?
?以上是准备工作 ,做好之后就是上传功能的实现
?
第一种方法:用字节流实现
核心代码:
?
?三种比较 ,笔者认为还是第二种比较简单。
?
会了单文件上传,多文件上传就简单了。只需要把获得文件、文件类型、文件名称 定义声明时定义为数组的就可以了
?
核心代码:
?
private String savePath;private String title;private File[] pic;// 文件名 与视图层的名称一致private String[] picContentType;// 文件名+ContentTypeprivate String[] picFileName;// 文件名+FileNamepublic String getSavePath() {return ServletActionContext.getServletContext().getRealPath(savePath);}public void setSavePath(String savePath) {this.savePath = savePath;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public File[] getPic() {return pic;}public void setPic(File[] pic) {this.pic = pic;}public String[] getPicContentType() {return picContentType;}public void setPicContentType(String[] picContentType) {this.picContentType = picContentType;}public String[] getPicFileName() {return picFileName;}public void setPicFileName(String[] picFileName) {this.picFileName = picFileName;}// 文件上传功能实现:多文件上传public String uploadfiles() {// 定义保存的路径String savepath = getSavePath();// 根据路径创建文件路径对象File file = new File(savepath);if (!file.exists()) {file.mkdirs();}try {for(int i=0;i<pic.length;i++){FileUtils.copyFile(pic[i], new File(file, getPicFileName()[i]));}} catch (Exception ex) {ex.printStackTrace();}return SUCCESS;}}?
??有什么问题,请大家直接指出 。如果有什么建议,也欢迎大家提出。目的是大家共同学习。
?
?