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 自己百度就能下載