pom.xml에라이브러리입력파일업로드에필요한라이브러리들을 pom.xml에입력합니다. pom.xml
빈객체설정root-context.xml
파일을 받을 수 있도록 해주는 MultipartResolver 빈을 주입해 줍니다. maxUploadSize 속성으로 업로드될 파일의 최대 크기를 설정할 수 있고 maxInMemorySize로 메모리에 유지되도록 허용할 수 있는 최대 용량을 설정할 수 있습니다. jsp 화면파일을전송할 jsp화면입니다. 예시
파일 전송은 post 형식으로만 전송이 되며 enctype을 multipart/form-data로 설정합니다. 그리고 file을 올릴 input 태그를 입력합니다. 스프링 시큐리티를 사용할 경우
스프링 시큐리티를 사용하고 있는 경우에는 요청 url 다음에 "?${_csrf.parameterName}=${_csrf.token}"을 붙여주어야 해당 url로 요청할 수 있습니다. 컨트롤러파일form 태그의요청을받고실행되는컨트롤러파일의메서드입니다. 예시
form 태그로 전송된 파일 정보는 MultipartHttpServletRequest라는 형태로 받게 되므로 메서드 파라미터로 넣어 줍니다. 그리고 fileTag라는 변수를 만들어서 form 태그에서 입력한 name 속성의 값을 입력합니다. filePath 변수에는 업로드한 파일이 저장될 경로를 입력합니다. 그런 다음 MultipartFile 객체를 만들어 전송받은 파일 정보를 저장하고 getOriginalFilename 메서드로 파일 이름을 fileName변수에 저장합니다. 마지막으로 transforTo 메서드에 업로드 파일의 전체 경로가 입력된 file 객체를 매개변수로 전달하면 업로드가 완료됩니다. |