우선 필요한 jar 파일
root 에
<%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@page import="java.io.File"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
// Test4.jsp //본격적으로 cos.jar 파일 다운로드 하고 실습 진행
request.setCharacterEncoding("UTF-8");
String cp = request.getContextPath();
/* String root = request.getRealPath("/") */
String root = pageContext.getServletContext().getRealPath("/");/* 두개는 같은 코드인데 위에는 예전 방식이다. 지금은 pageContext로부터 서블릿 얻고 realpath */
// 실제 물리적 주소
System.out.println(root); // web에서 실행하고 console 창에서 확인
//C:\SpringMVC\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\FileSystemApp03\
// 저장되는 위치와 폴더
String path = root + "pds" + File.separator + "saveData";
// /pds/savdData
// 확인
//System.out.println(path);
// 저장 대상(디렉터리 경로)이 존재하지 않으면 생성
File dir = new File(path);
if(!dir.exists())
dir.mkdirs();
String encType = "UTF-8";
int maxFileSize = 5*1024*1024; // 전송 최대 사이즈 5M
try
{
MultipartRequest req = null;
req = new MultipartRequest(request, path, maxFileSize, encType, new DefaultFileRenamePolicy()); // 요청개수, 저장할 경로, 최대사이즈, 인코딩타입, 파일이름 중복될때 사진1,jpg 있으면 사진2.jpg만들어줌
out.println("이름 : " + req.getParameter("name") + "<br>");
out.println("서버에 저장된 파일명 : " + req.getFilesystemName("upload")+"<br>");
out.println("업로드한 파일 명 : " + req.getOriginalFileName("upload") + "<br>");
out.println("파일 타입 : " + req.getContentType("upload") + "<br>" );
File file = req.getFile("upload");
if(file != null)
out.println("파일 길이 : " + file.length() + "<br>");
}catch(Exception e)
{
System.out.println(e.toString());
}
%>
'📚Study Note > SpringMVC' 카테고리의 다른 글
[SpringMVC] 마이바티스 연동 실습 / 전반적인 흐름 체크 (0) | 2021.06.30 |
---|---|
[SpringMVC]Annotaton @표기법을 활용하여 폼데이터 전송 및 수신 (0) | 2021.06.29 |