파일 업로드(2)

2896 단어
자세히 보기
인터넷에서 commons-fileupload-1.3.1,commons-io-2.4 두 개의jar 패키지 다운로드
1) 이 요청이 파일 업로드 요청인지 확인
 
boolean isMultipart = ServletFileUpload.isMultipartContent(request);

2) 파일을 만들어 업로드하는 플랜트 객체
 
 
FileItemFactory factory=new DiskFileItemFactory();

3) 서브렛FileUpload 객체를 작성하고 플랜트 객체를 매개변수로 전송
 
 
 ServletFileUpload upload=new ServletFileUpload(factory);

4) 업로드 객체를 사용하여 요청된 객체에서 제출된 모든 양식 요소 해결
 
 
 List lstForms=upload.parseRequest(request);

5) 폼 요소 집합을 옮겨다니며 폼 요소를 추출하고 파일을 업로드합니다
 
 
   for (FileItem fileItem : lstForms) {

        // 

        if(fileItem.isFormField()){

            System.out.println(fileItem.getString("UTF-8"));

        }else{

            // 

                //a、 this.getServletContext().getRealPath("/")   

                String path=this.getServletContext().getRealPath("/")+"files/";

                //b、 

                String fileName=fileItem.getName();

                fileName=fileName.substring(fileName.lastIndexOf("\\")+1);

                //c、 

                fileItem.write(new File(path+fileName));

                out.println("

'+fileName+'업로드 성공!

"); }

5) 실제 응용 중인 코드
      String savePath = request.getSession().getServletContext().getRealPath("/") + "upload/";
 
 
for (FileItem item : fileItems) {
    if (item.isFormField()) {
	 if ("choose".equals(item.getFieldName())) {
		choose = item.getString("UTF-8");
	        System.out.println(choose);
	  }else if ("title".equals(item.getFieldName())) {
	         title = item.getString("UTF-8");
	         System.out.println(title);
	  } else if("content".equals(item.getFieldName())){
	         content = item.getString("UTF-8");
	         System.out.println(content);
	  }else{	                      
	      
	         String s = item.getString("UTF-8");
	         System.out.println(s);
	       }
    }else{
          fileName = item.getName();
	  String pictures_url = null;
    	  File file = new File(savePath + "/");
	      if (!file.exists()) {
		        file.mkdirs();
		                   }
			 String wirteFile_url = savePath  + "/" + fileName; 
			 File wirteFile = new File(wirteFile_url); 
			 item.write(wirteFile);

 

좋은 웹페이지 즐겨찾기