1. 程式人生 > >javaWeb上傳檔案(jsp上傳檔案)

javaWeb上傳檔案(jsp上傳檔案)

jsp頁面:

使用者名稱: 檔案:

後臺servlet頁面 package com.upload.servlet;

import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.List;

import javax.servlet.ServletException; //import javax.servlet.annotation.WebServlet; 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.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.io.FileUtils;

public class uploadServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {

}

//@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
	// 判斷當前請求是否有檔案上傳
			if (ServletFileUpload.isMultipartContent(request)) {
				// 得到工廠
				FileItemFactory factory = new DiskFileItemFactory();
				ServletFileUpload upload = new ServletFileUpload(factory);
				List<FileItem> list = null;
				try {
					//所有表單中的內容
					list = upload.parseRequest(request);
				} catch (FileUploadException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				for(FileItem item:list){
					if(item.isFormField()){//判斷是普通欄位
						//得到name
						String name=item.getFieldName();
						System.out.println(name);
						//得到值
						String value=item.getString("utf-8");
						System.out.println(value);
					}else{//得到上傳檔案
						InputStream is=item.getInputStream();
						//檔名
						String fileName=item.getName();
						System.out.println("fileName:"+fileName);
						//得到當前專案路徑
						String url=getServletContext().getRealPath("/upload");
						System.out.println(url+fileName);
						File file=new File(url+fileName);
						FileUtils.copyInputStreamToFile(is, file);
						System.out.println("成功!");
			}
		}
	}
}

}

servlet配置檔案

This is the description of my J2EE component This is the display name of my J2EE component uploadServlet com.upload.servlet.uploadServlet uploadServlet /upload.do

所需要的jar包 1.commons-io-2.4.jar 2.commons-fileupload-1.2.2.jar 自己百度就能下載