<struts> <!-- 系统常量定义,定义上传文件字符集编码 --> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <!-- 系统常量定义,定义上传文件临时存放路径 --> <constant name="struts.multipart.saveDir" value="D:\\upload\\"></constant> <!-- Action所在包定义 --> <package name="C04.4" extends="struts-default"> <!-- Action名字,类以及导航页面定义 --> <!-- 通过Action类处理才导航的的Action定义 --> <action name="upload" class="com.aptech.action.UploadAction"> <result name="upload">/upload.jsp</result> <result name="input">/input.jsp</result> </action> </package> </struts> package com.aptech.action; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class UploadAction extends ActionSupport { // 上传文件存放路径 private final static String UPLOADDIR = "/upload"; // 上传文件集合 private List<File> file; // 上传文件名集合 private List<String> fileFileName; // 上传文件内容类型集合 private List<String> fileContentType; public List<File> getFile() { return file; } public void setFile(List<File> file) { this.file = file; } public List<String> getFileFileName() { return fileFileName; } public void setFileFileName(List<String> fileFileName) { this.fileFileName = fileFileName; } public List<String> getFileContentType() { return fileContentType; } public void setFileContentType(List<String> fileContentType) { this.fileContentType = fileContentType; } public String execute() throws Exception { for (int i = 0; i < file.size(); i++) { // 循环上传每个文件 uploadFile(i); } return "input"; } // 执行上传功能 private void uploadFile(int i) throws FileNotFoundException, IOException { try { InputStream in = new FileInputStream(file.get(i)); String dir = ServletActionContext.getRequest().getRealPath( UPLOADDIR); File uploadFile = new File(dir, this.getFileFileName().get(i)); OutputStream out = new FileOutputStream(uploadFile); byte[] buffer = new byte[1024 * 1024]; int length; while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } in.close(); out.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } } }
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助