반응형
[fileUploadServer.jsp]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <body> <% //파일 업로드 객체 하나만 있으면 파일 업로드가 수행 된다. //MultipartRequst 클래스를 이용 //application 이 ServletContext 이다. String saveDirectory = application.getRealPath("/upload"); //실제 경로 out.println("saveDirectory => " + saveDirectory + "<br>"); int maxPostSize = 5*1024*1024; //5MB MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize, "EUC-KR", new DefaultFileRenamePolicy()); String title = multi.getParameter("title"); String user = multi.getParameter("user"); out.println(title = " : " + user + "<br>"); Enumeration enu = multi.getParameterNames(); while(enu.hasMoreElements()){ String name = (String)enu.nextElement(); out.println(name + "=>" + multi.getParameter(name) + "<br>"); } out.println("<hr>"); //getFile() - File객체를 얻어 올 수 있다. File 객체를 맘대로 제어 가능. //getFileName() - 멀티 업로드가 기본적으로 가능하다. Enumeration enu2 = multi.getFileNames(); while(enu2.hasMoreElements()){ String fileName = (String)enu2.nextElement(); out.println("fileName => " + fileName + "<br>"); out.println("실제 파일명 => " + multi.getOriginalFileName(fileName) + "<br>"); out.println("저장될 파일명 => " + multi.getFilesystemName(fileName) + "<br>"); out.println("파일 타입 => " + multi.getContentType(fileName) + "<br>"); } %> </body> | cs |
해당 파일을 확인할 수 있다.
파일제목이 test 이고 작성자는 admin 인 것을 확인할 수 있다.
또한 실제 파일명, 저장될 파일명, 파일 타입도 확인할 수 있다.
여기서 현재 upload 폴더에 test.txt 가 존재하여 test1.txt 로 파일명이 변경되어 저장된 것을 확인할 수 있다.
이는 MultipartRequest 의 FileRenamePolicy policy 를 new DefaultFileRenamePolicy() 로 설정되어 있기 때문이다.
[fileUploadServer.jsp]
1 2 3 4 5 6 7 8 9 10 11 12 13 | out.println("<hr>"); File fileDir = new File(saveDirectory); File[] files = fileDir.listFiles(); for(File file : files){ String fileName = file.getName(); out.println(fileName + "<br>"); file.delete(); //파일 삭제 } if(fileDir.list().length == 0){ out.println("upload 디렉토리가 모두 비었습니다.<br>"); } |
upload 폴더를 File 형식으로 하여 .listFiles(); 를 통해 upload 폴더의 파일들을 확일할 수 있다.
또한 for문을 통해 폴더에 있는 모든 파일을 삭제할 수도 있다.
반응형
'[IT] > [JSP]' 카테고리의 다른 글
[JSP] 파일 업로드 (0) | 2017.12.05 |
---|---|
[JSP] 액션태그(getProperty) (0) | 2017.12.04 |
[JSP] 액션태그(forward) (0) | 2017.12.04 |
[JSP] 예외처리 페이지 (0) | 2017.12.04 |
[JSP] include를 활용한 화면 분할 (0) | 2017.12.04 |