카테고리 없음
[JSP] 이미지 파일 업로드
미니시리
2022. 12. 17. 22:19
dext5 editor에서 이용중에 이미지를 첨부했을 때 원하는 폴더에 저장될 수 있도록 변경 해보려고 했습니다.
다른 방법도 있지만, 기본 upload_handler인 jsp파일에서 바로 업로드를 해보기 위해서 소스를 수정 해 보았습니다.
import 목록
<%@ page import="com.oreilly.servlet.MultipartRequest" %>
<%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
밑에부터는 {% %} 안에 삽입해주면 된다
저장 경로 받아오기
ResourceBundle resource = null;
resource = ResourceBundle.getBundle("egovframework.config.config-local");
String LocalPath = resource.getString("upload.image.path");
파일 업로드 기능 추가
try {
MultipartRequest multi = null;
multi = new MultipartRequest(request, LocalPath, maxSize, encType, new DefaultFileRenamePolicy());
Enumeration params = multi.getParameterNames();
while(params.hasMoreElements()) {
String name = (String) params.nextElement();
String value = multi.getParameter(name);
out.println(name + " = " + value + "<br>");
}
out.println("-------------------<br>");
Enumeration files = multi.getFileNames();
while(files.hasMoreElements()) {
String name = (String)files.nextElement();
String filename = multi.getFilesystemName(name);
String original = multi.getOriginalFileName(name);
String type = multi.getContentType(name);
File file = multi.getFile(name);
out.println("파라미터 이름" + name + "<br>");
out.println("실제 파일 이름" + original + "<br>");
out.println("저장된 파일 이름" + filename + "<br>");
out.println("파일 타입 이름" + type + "<br>");
if(file!= null) {
out.println("크기: " + file.length() + "<br>");
}
}
} catch (IOException ioe) {
System.out.println("ioe Err: "+ioe);
} catch (Exception e) {
out.println("Err: "+e.toString());
}
- MultiRequest (javax.servlet.http.HttpServletRequst request,
java.lang.String saveDirectory,
int maxPostSize,
java.lang.String encoding,
FileRenamePolicy policy) - Enumteration getParameterNames() : 전송된 파라미터들의 이름을 Enumeration 타입으로 리턴
- String getParameter(String name) : 해당하는 이름의 파라미터 값을 리턴
- String getFilesystemName(String name) : 실제 파일이 업로드된 위치
- String getOriginalFileName(String name) : 사용자가 폼에서 직접 지정한 파일명 리턴
- String getContentType(String name) : 업로드 된 파일의 타입
- File getFile(name) :업로드된 파일 객체를 얻어낼 때 사용