본문 바로가기
Spring

73일차//spring/ 파일 업로드

by aesup 2021. 4. 22.
728x90
 @RequestMapping(value="pdsupload.do", method = {RequestMethod.GET,RequestMethod.POST})
	 public String pdsupload(PdsDto pdsdto,
			 @RequestParam(value="fileload", required = false)MultipartFile fileload,
			 HttpServletRequest req, HttpSession session) {
		
		 //값들어오는지확인
		 System.out.println("pdsdto: " + pdsdto.toString());
		 
		 
		 
		 MemberDto mem = (MemberDto)session.getAttribute("login");
		 
		 
		 
		 	//@RequestParam(value="fileload", required = false)MultipartFile fileload,
		 	//fileload로 넘어왓을때 MultipartFile fileload로 받아라
		 
		 //filename 취득
		 String filename = fileload.getOriginalFilename();
		 
		 //원본 파일명 세팅
		 pdsdto.setFilename(filename);
		 
		 //upload 파일명 변경하여 + 경로설정
		 //서블릿 톰캣에 저장
		 String fupload = req.getServletContext().getRealPath(filename);
		 
		 //경로
		 //String fupload
		 
		 System.out.println("경로확인 fupload : " + fupload);
		 
		 //파일명 변경처리
		 String newFilename = PbsUtil.getNewFileName(pdsdto.getFilename());
		 pdsdto.setNewFilename(newFilename);
		
		 File file = new File(fupload + "/" + newFilename); 

			try {
				// 실제로 업로드 되는 부분
				FileUtils.writeByteArrayToFile(file, fileload.getBytes());
				
				// db에 저장
				service.uploadPds(pdsdto);
				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			return "redirect:/pdslist.do";
	 }
728x90