?? uploadfile.java
字號:
package com.puckasoft.video312.upload;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadFile extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//原理性實驗
// InputStream is = request.getInputStream(); //獲得request的輸入流
// FileOutputStream fos = new FileOutputStream(new File("d:/testUpload.jpg"));
// byte[] b = new byte[1024];
// while(is.read(b)!=-1){
// fos.write(b);
// }
// is.close();
// fos.close();
String tempDirectory = "d:/temp/"; //要在最后加上斜杠:temp/
try {
int sizeThreshold = 1024 * 64; //寫滿該大小的緩存后,存入硬盤中。
File repositoryFile = new File(tempDirectory);
FileItemFactory factory = new DiskFileItemFactory(sizeThreshold, repositoryFile);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(500 * 1024 * 1024); // set every upload file'size less than 500M
List items = upload.parseRequest(request); //這里開始執行上傳
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next(); //FileItem就是表示一個表單域數據
if(item.isFormField()){ //isFormField方法用于判斷FileItem是否代表一個普通表單域(即非file表單域)
System.out.println("***"+item.getFieldName());
}else {
String fieldName = item.getFieldName(); //獲取表單域name屬性的值
String fileName = item.getName(); //返回該文件在客戶機上的文件名。e.g: e:\dianying\\video\1.wmv
System.out.println("getFieldName:"+fieldName);
System.out.println("getName:"+fileName);
File uploadedFile = new File("d:/video/"+new Date().getTime()+fileName.substring(fileName.lastIndexOf(".")));
item.write(uploadedFile);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -