首页 > 代码库 > 多个文件上传
多个文件上传
//准备文件
1.上传多个文件页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="http://www.mamicode.com/"> <title>登录页面</title> </head> <body> <s:form action="upload.action" enctype="multipart/form-data" method="post"> <s:file name="upload" label="选择文件" /> <br /> <s:file name="upload" label="选择文件" /> <br /> <s:file name="upload" label="选择文件" /> <br /> <s:submit name="submit" value="http://www.mamicode.com/上传文件"></s:submit> </s:form> </body></html>
2.在struts.xml中配置相应的action
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <!-- 动态方法调用 --> <constant name="struts.devMode" value="http://www.mamicode.com/false" /> <package name="default" namespace="/" extends="struts-default"> <action name="upload" class="cn.happy.action.UploadAction" method="execute"> <param name="savePath">/image</param> <result name="success">/upload/success.jsp</result> </action> </package></struts>
3.在根据action节点找对应的类
package cn.happy.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport { /*** * 多文件上传 * @return */ // 上传文件的属性 private File[] upload; // 上传文件的类型 private String[] uploadContentType; // 上传文件的名称 private String[] uploadFileName; // 上传文件的地址 private String savePath; @Override public String execute() throws Exception{ byte[] buffer=new byte[1024]; for(int i=0;i<upload.length;i++){ //建立上传文件的出入流 FileInputStream fis=new FileInputStream(getUpload()[i]); //建立上传文件的输出流, getImageFileName()[i] FileOutputStream fos=new FileOutputStream(getSavePath()+"\\"+getUploadFileName()[i]); int length=fis.read(buffer); while(length>0){ fos.write(buffer,0,length); length=fis.read(buffer); } fis.close(); fos.flush(); fos.close(); } return SUCCESS; } public File[] getUpload() { return upload; } public void setUpload(File[] upload) { this.upload = upload; } 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 String getSavePath() { return ServletActionContext.getServletContext().getRealPath(savePath); } public void setSavePath(String savePath) { this.savePath = savePath; }}
4.如果成功就去找成功页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="http://www.mamicode.com/"> <title>成功页面</title> </head> <body> 您所上传的文件是:<s:property value="http://www.mamicode.com/uploadFileName"/><br/> 文件类型:<s:property value="http://www.mamicode.com/uploadContentType"/> </body></html>
多个文件上传
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。