將Apache的commons-fileupload.jar放在應用程序的WEB-INF\lib下,即可使用。下面舉例介紹如何使用它的文件上傳功能。
所使用的fileUpload版本為1.2,環境為Eclipse3.3+MyEclipse6.0。FileUpload 是基於 Commons IO的,所以在進入項目前先確定Commons
IO的jar包(本文使用commons-io-1.3.2.jar)在WEB-INF\lib下。
//check request is multipart form
boolean
isMultipart = ServletFileUpload.isMultipartContent(request);
if
(isMultipart == true) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
Iterator itr = items.iterator();
while (itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if (!item.isFormField()) {
String filename = f.getName();
filename =
filename.substring(filename.lastIndexOf("."));
File savedFile = new File(“c:\uploadPath\”
+ filename + ".xls");
item.write(savedFile); //寫入檔案
}else{
out.print(f.getFieldName());
//因為Web使用是的UTF-8編碼,所以客戶端返回的也是UTF-8的編碼。
out.print(f.getString("UTF-8"));
}
}
} else
{
System.out.print("the enctype must be multipart/form-data");
}