第一步:在
WEB-INF/lib
下加入
commons-fileupload-1.2.1.jar
、
commons-io-1.3.2.jar
。這兩個檔案可以從
http://commons.apache.org/
下載。
第二步:把
form
表的
enctype
設定為:
“
multipart/form-data
“
,如下: <form enctype="multipart/form-data" action="${pageContext.request.contextPath}/xxx.action" method="post"> <input type="file" name="uploadImage"></form>
第三步:在
Action
類中添加以下屬性
:
public class HelloWorldAction{
private File uploadImage;//得到上傳的檔案
private String uploadImageContentType;//得到檔案的類型
private String uploadImageFileName;//得到檔案的名稱
//這裡略省了屬性的getter/setter方法
public String upload() throws Exception{
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(realpath);
if(!file.exists()) file.mkdirs();
FileUtils.copyFile(uploadImage, new File(file, uploadImageFileName));
return "success";
}
}
多檔案上傳
第一步:在
WEB-INF/lib
下加入
commons-fileupload-1.2.1.jar
、
commons-io-1.3.2.jar
。這兩個檔案可以從
http://commons.apache.org/
下載。
第二步:把
form
表的
enctype
設定為:
“
multipart/form-data
“
,如下: <form enctype="multipart/form-data" action="${pageContext.request.contextPath}/xxx.action" method="post"> <input type="file" name="uploadImages"> <input type="file" name="uploadImages"></form>
第三步:在
Action
類中添加以下屬性,
屬性紅色部分對應於表單中檔案欄位的名稱
:
public class HelloWorldAction{
private File[] uploadImages;//得到上傳的檔案
private String[] uploadImagesContentType;//得到檔案的類型
private String[] uploadImagesFileName;//得到檔案的名稱
//這裡略省了屬性的getter/setter方法
public String upload() throws Exception{
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(realpath);
if(!file.exists()) file.mkdirs();
for(int i=0 ;i<uploadImages.length; i++){ File uploadImage = uploadImages[i];
FileUtils.copyFile(uploadImage, new File(file, uploadImagesFileName[i]));
}
return "success";
}}