Action:
public class FileUploadAction extends Action {html
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
FileUploadForm fileUploadForm = (FileUploadForm) form;// TODO Auto-generated method stub
// 取得文件對象
FormFile file = fileUploadForm.getFile();
//經過時間和file的文件後綴,拼寫出文件名
java.util.Date date= new java.util.Date();
String fileName =date.getTime()
+ file.getFileName().substring( file.getFileName().lastIndexOf("."));
// 取得絕對路徑
System.out.println(fileName);
String pathName = this.getServlet().getServletContext()
.getRealPath("/")
+ "/upload/" + fileName;
//將拼寫好的文件名保存到對象中
System.out.println(pathName);
try {
// 定義輸出流
FileOutputStream os = new FileOutputStream(new File(pathName));
// 開始寫文件
os.write(file.getFileData());
// 關閉流
os.close();
return mapping.findForward("suc");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
return mapping.findForward("fal");
} catch (Exception ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
return mapping.findForward("fal");
}
}
}java
Form:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.j2ee.onlineAuction.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
/**
* MyEclipse Struts
* Creation date: 06-12-2011
*
* XDoclet definition:
* @struts.form name="fileUploadForm"
*/
public class FileUploadForm extends ActionForm {
/*
* Generated fields
*/
/** file property */
private FormFile file;
/*
* Generated Methods
*/
/**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
}
/**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
}
/**
* Returns the file.
* @return FormFile
*/
public FormFile getFile() {
return file;
}
/**
* Set the file.
* @param file The file to set
*/
public void setFile(FormFile file) {
this.file = file;
}
}apache
JSP:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for FileUploadForm form</title>
</head>
<body>
<html:form action="/fileUpload"
enctype="multipart/form-data"> file : <html:file property="file"/><html:errors property="file"/><br/> <html:submit/><html:cancel/> </html:form> </body> </html>