파일업로드를 하기위해서는 우선 form 태그에서 enctype을 변경을 해줘야한다.
enctype="application/x-www-form-urlencoded"
default값으로 지정되어있는 값이다.
enctype="multipart/form-data"
이런식으로 enctype을 변경시켜줘야한다.
이런식으로 변경을 주었다면, 다음으로는 Service단으로 넘어가서 작성해주면 된다.
int fileSize = 1024 * 1024 * 100;
String realPath = req.getServletContext().getRealPath("/goods/images");
이런식으로 파일사이즈와 파일이 저장될 경로를 설정해준후,
이전 html단에서 multipart-form-data로 데이터를 보내주니까 받을때도 multipart로 받아야한다.
MultipartRequest multi = new MultipartRequest(req, realPath, fileSize, "utf-8", new DefaultFileRenamePolicy());
이렇게 multi로 받아주면 기존에 req.getParameter 이렇게 받아왔던 데이터를
multi.getParameter 이렇게 변경을 시켜줘야한다.
해서 받아올 준비가 끝났다면, 저장된 파일명과 전송된 파일명 이렇게 두가지로 나누어서 받아준다.
String mainImageStoreName = multi.getFilesystemName("mainImage");
String mainOriginalName = multi.getOriginalFileName("mainImage");
이후 우리가 사용해야할 파일명은 getFilesystemName가 될 것 이다.
이런식으로해서 DB에 저장해서 사용하면 된다.