commons-upload 라이브러리 : localhost서버, CDN서버에서 사용 가능(상대방 서버)
[ I/O 파일 업로드 라이브러리 사용 - setting ]
mvnrepository 여기서 Apache Commons FileUpload » 1.5 이거 pom.xml에 복붙
=> webpage.xml 에
<!-- 파일업로드 사용할수 있도록 Class를 XML로 로드 --><!-- id="multipartResolver" : id고정! 주의 --><beans:beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><beans:propertyname="defaultEncoding"value="utf-8"></beans:property><beans:propertyname="maxUploadSize"value="-1"></beans:property><beans:propertyname="maxInMemorySize"value="200000"></beans:property></beans:bean>
=> server restart
👀
value="-1" : 최대 업로드 파일 용량 제한 없음 (제한 하고싶으면 용량 변환해서 작성 , 실제서버에서는 -1로함)
maxInMemorySize
: 너무 높게 잡으면 서버가 죽을수 있으니 주의 (2097152 : 2MB)
maxInMemorySize
Tomcat에서 사용되는 메모리와 대칭이 되며 server.xml에 메모리 max사이즈에 할당되는 사이즈만큼 적용 가능하다, 그 이상일 경우 error!
- shop_main2.java 에 추가 - @PostMapping("/fileupok2.do")
/*-- 첨부파일 여러개인 경우 --*/@PostMapping("/fileupok2.do")publicvoidfileupok2(@RequestParam("mfile") MultipartFile files[], HttpServletRequest req )throws Exception {
//front에서 동일한 name을 사용한 갯수만큼 출력 : (비어있어도 null 이기 때문 3출력)int file_ea = files.length;
System.out.println(files[0].getOriginalFilename());
System.out.println(files[1].getOriginalFilename());
System.out.println(file_ea);
}
- 첨부파일 input name이 동일한 경우 원시배열로 받아야함! - 이름이 다 다른 경우 @RequestParam("mfile1") MultipartFile files1,@RequestParam("mfile2") MultipartFile files2 이렇게 받아야함..!