Struts2实现多文件上传

来源:互联网 发布:手机广告语制作软件 编辑:程序博客网 时间:2024/05/29 03:46

multiUpload.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title></head><body><form action="multiUpload.action" method="post" enctype="multipart/form-data">file:<input type="file" name="file"/><br>file:<input type="file" name="file"/><br>file:<input type="file" name="file"/><br> <input type="submit" value="submit"/></form></body></html>


上传成功后的页面uploadResult.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title></head><body>upload successfully!</body></html>


MultiUploadAction.java:

package com.struts2.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.List;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class MultiUploadAction extends ActionSupport {private static final long serialVersionUID = 1L;/** 文件 */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;}@Overridepublic String execute() throws Exception {String uploadPath = ServletActionContext.getServletContext().getRealPath("/upload");for (int i = 0; i < file.size(); i++) {InputStream is = new FileInputStream(file.get(i));OutputStream os = new FileOutputStream(new File(uploadPath,this.fileFileName.get(i)));int length = 0;byte[] buffer = new byte[1024];while (-1 != (length = is.read(buffer))) {os.write(buffer, 0, length);}is.close();os.close();}return SUCCESS;}}

 

配置一下struts.xml:

<?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.i18n.encoding" value="UTF-8" /><constant name="struts.multipart.maxSize" value="104857600" /><package name="struts2" extends="struts-default"><!-- 多文件上传 --><action name="multiUpload" class="com.struts2.action.MultiUploadAction"><result name="success">/uploadResult.jsp</result></action></package>


 

原创粉丝点击