首页 > 代码库 > struts2_10_单个文件的上传:
struts2_10_单个文件的上传:
向lib下导入jar文件:commons-io-1.3.2.jar;该jar文件包含FileUtils类。
1)employeeAction中的代码为:
public class employeeAction { // 要上传的文件 private File image; // 上传文件的文件名称,image为上传字段的名称,FileName为固定字段 private String imageFileName; public String getImageFileName() { return imageFileName; } public void setImageFileName(String imageFileName) { this.imageFileName = imageFileName; } public File getImage() { return image; } public void setImage(File image) { this.image = image; } public String execute() throws Exception { // 得到上传后被保存的文件的真实路径 String realpath = ServletActionContext.getServletContext().getRealPath("/images"); // 在内部运行是输出真实路径以便查找文件 System.out.println(realpath); if (image != null) {// 如果上传文件不为空 // 用realpath创建一个文件,把文件image赋给新创建的文件,保存为savefile文件 File savefile = new File(new File(realpath), imageFileName); // 如果savefile 未创建成功,重新创建 if (!savefile.getParentFile().exists()) { savefile.getParentFile().mkdir(); } // 将savefile文件拷贝给image文件 FileUtils.copyFile(image, savefile); // 向request中传入值,当上传成功时,在输出界面上显示 ActionContext.getContext().put("message", "上传成功"); } return "success";//跳转到Action } }
1)输入界面的代码为:
<body> <form action="<%=request.getContextPath()%> /employee/employee.action" enctype="multipart/form-data" method="post"> 文件:<input type="file" name="image"/> <input type="submit" value=http://www.mamicode.com/"上传"/>>1)输出界面的代码为:
<body> ${message } <br> </body>4)struts.xml文件配置:
<struts> <package name="employee" namespace="/employee" extends="struts-default"> <action name="list*" class="employee.employeeAction" method="{1}"> <result name="success">/message.jsp</result> </action> </package> </struts>(二)多个文件的上传:
struts.xml文件和输出层代码都与(一)中相同。
1)employeeAction中的代码:
public class employeeAction { private File[] image; private String[] imageFileName; public File[] getImage() { return image; } public void setImage(File[] image) { this.image = image; } public String[] getImageFileName() { return imageFileName; } public void setImageFileName(String[] imageFileName) { this.imageFileName = imageFileName; } public String execute() throws Exception { String realpath = ServletActionContext.getServletContext().getRealPath( "/images"); System.out.println("文件存储路径:" + realpath); if (image != null) { File savedir = new File(realpath); if (!savedir.exists()) savedir.mkdirs(); for (int i = 0; i < image.length; i++) { File savefile = new File(savedir, imageFileName[i]); FileUtils.copyFile(image[i], savefile); } ActionContext.getContext().put("message", "上传成功"); } return "success"; }2)输入界面的代码:
<form action="<%=request.getContextPath()%>/employee/listexecute. action" enctype="multipart/form-data" method="post"> <!-- 文件类型相同; name的值相同 , 且等于Action中的属性值 --> 文件1:<input type="file" name="image" /><br> 文件2:<input type="file" name="image" /><br> 文件3:<input type="file" name="image" /><br> <input type="submit" value=http://www.mamicode.com/"上传" />>
struts2_10_单个文件的上传:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。