上传页面:
<%
@ page language="java" contentType="text/html; charset=GBK"
%>
<% @taglib prefix="s" uri="/struts-tags" %>
<% @ page isELIgnored="false" %>
<% @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=GBK" />
< title > title >
head >
< body >
< s:fielderror />
< form action ="upload.action" method ="post" enctype ="multipart/form-data" >
< input type ="text" name ="title" />< br >
< input type ="file" name ="upload" />< br >
< input type ="file" name ="upload" />< br >
< input type ="file" name ="upload" />< br >
< input value ="upload" type ="submit" />
form >
body >
html >
<% @taglib prefix="s" uri="/struts-tags" %>
<% @ page isELIgnored="false" %>
<% @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=GBK" />
< title > title >
head >
< body >
< s:fielderror />
< form action ="upload.action" method ="post" enctype ="multipart/form-data" >
< input type ="text" name ="title" />< br >
< input type ="file" name ="upload" />< br >
< input type ="file" name ="upload" />< br >
< input type ="file" name ="upload" />< br >
< input value ="upload" type ="submit" />
form >
body >
html >
上传Action
package
lee;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import org.apache.struts2.ServletActionContext;
import java.io. * ;
import com.opensymphony.xwork2.ActionSupport;
/**
* @author yeeku.H.lee [email protected]
* @version 1.0
*
Copyright (C), 2005-2008, yeeku.H.Lee
*
This program is protected by copyright laws.
*
Program Name:
*
Date:
*/
public class UploadAction extends ActionSupport
{
private String title;
private File[] upload;
private String[] uploadContentType;
private String[] uploadFileName;
//接受依赖注入的属性
private String savePath;
//接受依赖注入的方法
public void setSavePath(String value)
{
this.savePath = value;
}
private String getSavePath() throws Exception
{
return ServletActionContext.getRequest().getRealPath(savePath);
}
public void setTitle(String title) {
this.title = title;
}
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 getTitle() {
return title;
}
@Override
public String execute() throws Exception
{
System.out.println("开始上传单个文件-----------------------");
System.out.println(getSavePath());
System.out.println("==========" + getUploadFileName());
System.out.println("==========" + getUploadContentType());
System.out.println("==========" + getUpload());
File[] files=this.getUpload();
for(int i=0;i<files.length;i++){
//以服务器的文件保存地址和原文件名建立上传文件输出流
FileOutputStream fos = new FileOutputStream(getSavePath() + "\" + getUploadFileName()[i]);
FileInputStream fis = new FileInputStream(files[i]);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) > 0)
{
fos.write(buffer , 0 , len);
}
}
return SUCCESS;
}
}
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import org.apache.struts2.ServletActionContext;
import java.io. * ;
import com.opensymphony.xwork2.ActionSupport;
/**
* @author yeeku.H.lee [email protected]
* @version 1.0
*
Copyright (C), 2005-2008, yeeku.H.Lee
*
This program is protected by copyright laws.
*
Program Name:
*
Date:
*/
public class UploadAction extends ActionSupport
{
private String title;
private File[] upload;
private String[] uploadContentType;
private String[] uploadFileName;
//接受依赖注入的属性
private String savePath;
//接受依赖注入的方法
public void setSavePath(String value)
{
this.savePath = value;
}
private String getSavePath() throws Exception
{
return ServletActionContext.getRequest().getRealPath(savePath);
}
public void setTitle(String title) {
this.title = title;
}
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 getTitle() {
return title;
}
@Override
public String execute() throws Exception
{
System.out.println("开始上传单个文件-----------------------");
System.out.println(getSavePath());
System.out.println("==========" + getUploadFileName());
System.out.println("==========" + getUploadContentType());
System.out.println("==========" + getUpload());
File[] files=this.getUpload();
for(int i=0;i<files.length;i++){
//以服务器的文件保存地址和原文件名建立上传文件输出流
FileOutputStream fos = new FileOutputStream(getSavePath() + "\" + getUploadFileName()[i]);
FileInputStream fis = new FileInputStream(files[i]);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) > 0)
{
fos.write(buffer , 0 , len);
}
}
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.custom.i18n.resources" value ="globalMessages" />
< constant name ="struts.i18n.encoding" value ="GBK" />
< package name ="lee" extends ="struts-default" >
< action name ="upload" class ="lee.UploadAction" >
< interceptor-ref name ="fileUpload" >
< param name ="allowedTypes" > image/bmp,image/png,image/gif,image/jpeg,image/jpg param >
< param name ="maximumSize" > 2000 param >
interceptor-ref >
< interceptor-ref name ="defaultStack" />
< param name ="savePath" > /upload param >
< result > /succ.jsp result >
< result name ="input" > /upload.jsp result >
action >
package >
struts >
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.custom.i18n.resources" value ="globalMessages" />
< constant name ="struts.i18n.encoding" value ="GBK" />
< package name ="lee" extends ="struts-default" >
< action name ="upload" class ="lee.UploadAction" >
< interceptor-ref name ="fileUpload" >
< param name ="allowedTypes" > image/bmp,image/png,image/gif,image/jpeg,image/jpg param >
< param name ="maximumSize" > 2000 param >
interceptor-ref >
< interceptor-ref name ="defaultStack" />
< param name ="savePath" > /upload param >
< result > /succ.jsp result >
< result name ="input" > /upload.jsp result >
action >
package >
struts >
结果显示页面:
<%