728x90
반응형
ㅁ
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h2>commons를 이용한 파일 업로드</h2> <p>업로드할 디렉토리가 없으면 자동으로 생성됨.</p> <p> -commons-fileupload-버전.jar, commons-id-버전.jar파일 필요</p> <dl> <p>commons-fileupload-버전-bin.zip파일 다운 경로: <a href="https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload/1.4" target="_blank">다운받기</a></p> <p>commons-io-버전-bin.zip파일 다운 경로: <a herf="https://mvnrepository.com/artifact/commons-io/commons-io/2.11.0" target="_blank">다운받기</a> </p></dl> <form action="11_02_fileupload02_process.jsp" method="post" enctype="multipart/form-data"> <fieldset> <legend>파일 업로드 폼</legend> <p>이 름 : <input type="text" name="name"></p> <p>제 목 : <input type="text" name="subject"></p> <!-- 다중파일 업로드 속성: multiple="multiple" --> <p>이 름 : <input type="file" name="filename" multiple="multiple"></p> <p><input type="submit" value="파일올리기"></p> </fieldset> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="org.apache.commons.fileupload.*" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%@ page import="java.sql.*" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% // 현재 파일 위치의 상대경로 지정가능 // String savePath = application.getRealPath("파일을 저장할 폴더"); // 예시 : String savePath = application.getRealPath("\product"); String fileUploadPath = "C:\\uploadts"; // 파일업로드를 위해 객체 생성 DiskFileUpload upload = new DiskFileUpload(); // 폼페이지에서 전송된 요청 파라미터를 가져오기 List items = upload.parseRequest(request); // 요청 파라미터를 모아놓은 items배열객체를 가져오기 쉽게 iterator객체로 변환함. Iterator params = items.iterator(); while (params.hasNext()){ FileItem fileItem = (FileItem) params.next(); if(fileItem.isFormField()){ // 필드 이름 String name= fileItem.getFieldName(); // 필드 값, 한글 인코딩 String value = new String((fileItem.getString()).getBytes("8859_1"),"utf-8"); out.print(name + ": "+value+"<br>"); } else { String fileName = fileItem.getName(); out.print("orginfileName: " + fileName + "<br>"); // "/img/cute_dog.jpg" fileName = fileName.substring(fileName.lastIndexOf("\\")+1); //"cute_dog.jpg" File file = new File (fileUploadPath + "/" + fileName); String orginName = fileName; // 동일한 파일명이 존재하는 경우 파일명 변경하기 // if(file.exists()){ Timestamp ts = new Timestamp(System.currentTimeMillis()); long tsl = ts.getTime(); fileName = tsl + fileName.substring(fileName.lastIndexOf(".")); file = new File(fileUploadPath + "/"+fileName); } out.print("newfileName: "+ fileName + "<br>"); // 파일이 실제로 업로드 되는 시점 fileItem.write(file); } } %> </body> </html>
s
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form name="fileForm" action="11_03_fileupload03_process.jsp" method="post" enctype="multipart/form-data"> <fieldset> <legend>파일 업로드 폼</legend> <p>이 름 : <input type="text" name="name"></p> <p>제 목 : <input type="text" name="subject"></p> <p>이 름 : <input type="file" name="filename"></p> <p><input type="submit" value="파일올리기"></p> </fieldset> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="org.apache.commons.fileupload.*" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%@ page import="java.sql.*" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% String path= "C:\\upload"; DiskFileUpload upload = new DiskFileUpload(); // 파일 최대크기 용량제한. 최대로 업로드할 수 있는 파일의 크기를 바이트 단위로 지정 upload.setSizeMax(2*1024*1024); //2MB정도 = 1*1024*1024 // request는 파일을 합쳐서 가져오기에 용량설정해줘야함 List items = upload.parseRequest(request); Iterator params = items.iterator(); while(params.hasNext()){ FileItem item = (FileItem) params.next(); if(item.isFormField()){ String name = item.getFieldName(); String value = item.getString("utf-8"); out.println(name + "=" + value + "<br>"); } else { String fileFieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); fileName = fileName.substring(fileName.lastIndexOf("\\")+1); long fileSize = item.getSize(); File file = new File(path + "/" + fileName); item.write(file); out.println("-------------------------<br>"); out.println("요청 파라미터 이름 : " + fileFieldName +"<br>"); out.println("저장 파일 이름 : " + fileName +"<br>"); out.println("파일 콘텐츠 타입 : " + contentType +"<br>"); out.println("파일 크기 : " + fileSize); } } %> </body> </html>
728x90
반응형