HttpServletRequest 파일 객체 저장 방법

핵심 코드
HttpServletRequest에서 파일 데이터를 직접 추출할 수 없으므로 MultipartHttpServletRequest로 강제 변환
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
List files = multipartRequest.getFiles("files");
POST

/* */
function myupload() {
  $.ajax({
    url:"/exUploadController.do?uploadTest",
    type : "POST",
    async: false,
    cache: false, // false
    contentType: false,// false ,formupload1 enctype="multipart/form-data"
    processData: false, // fals
    data :new FormData(document.getElementById("myForm")),
    success:function (data) {
      alert(data);
    },
    error:function (XMLHttpRequest, textStatus, errorThrown) {
      console.log(XMLHttpRequest);
      console.log(textStatus);
      console.log(errorThrown);
    }
  })
}
Servlet

	HttpServletRequest request;
      // 
      MultipartHttpServletRequest mureq = (MultipartHttpServletRequest) request;
      Map<String, MultipartFile> files = mureq.getFileMap(); 
      MultipartFile file =null;
      if (files != null &&files.size()> 0) { 
        
        Map.Entry<String, MultipartFile> f = files.entrySet().iterator().next(); 
        file = f.getValue();
      } 

      // 

      String rootPath = request.getSession().getServletContext().getRealPath("/");

     // 
      String fileName = file.getOriginalFilename();

      

     // 
      float size = file.getSize()

      // path 

      File newFile = new File(path);

      // 
      if(!newFile.exists()) {
        newFile.mkdirs();// , 
      }
      // 
      file.transferTo(newFile);
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기