Struts2实现单文件上传 (一)

2014-11-24 09:56:17 · 作者: · 浏览: 1

先配置一下web.xml

[html]
< xml version="1.0" encoding="UTF-8" >
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">


struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

config
struts-default.xml,struts-plugin.xml,../struts.xml



struts2
/*


< xml version="1.0" encoding="UTF-8" >
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">


struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

config
struts-default.xml,struts-plugin.xml,../struts.xml



struts2
/*



新建一个上传页面:upload.jsp

[html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>








file:




<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>








file:





UploadAction.java:

[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 org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {

private static final long serialVersionUID = 1L;

/** 文件 */
private File file;

/** 文件名 */
private String fileFileName;

/** 文件类型 */
private String fileContentType;

public File getFile() {
return file;
}

public void setFile(File file) {
this.file = file;
}

public String getFileFileName() {
return fileFileName;
}

public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}

public String getFileContentType() {
return fileContentType;
}

public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}

@Override
public String execute() throws Exception {

String uploadPath = ServletActionContext.getServletContext()
.getRealPath("/upload");

InputStream is = new FileInputStream(file);
OutputStream os = new FileOutputStream(new File(uploadPath,
this.fileFileName));

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;
}
}

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 org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {

private static final long serialVersionUID = 1L;

/** 文件 */
private File file;

/** 文件名 */
private String fileFileName;

/** 文件类型 */
private String fileContentType;

public File getFile() {
return file;
}

publi