Spring
스프링 MVC 2 - 정리(파일 업로드)
스프링 MVC 2 - 정리(파일 업로드)
2022.10.20정리(파일 업로드) 파일 업로드 소개 HTML Form을 통한 파일 업로드를 이해하려면 먼저 폼을 전송하는 다음 두 가지 방식의 차이를 이해해야 한다. application/x-www-form-urlencoded multipart/form-data 프로젝트 생성 서블릿과 파일 업로드1 서블릿은 multipart를 지원한다. 그래서 request.getParts()를 하면 part를 받을 수 있다. 이것을 사용하려면 spring.servlet.multipart.enabled=true로 켜져있어야 한다. 이것이 꺼져있으면 WAS자체가 이것은 multipart를 사용하지 않는구나 하고서 아예 기능을 지원하지 않게된다. 서블릿과 파일 업로드2 서블릿이 제공하는 Part에 대해 알아보았다. 먼저 applicati..
스프링 MVC 2 - 예제로 구현하는 파일 업로드, 다운로드
스프링 MVC 2 - 예제로 구현하는 파일 업로드, 다운로드
2022.10.20예제로 구현하는 파일 업로드, 다운로드 실제 파일이나 이미지를 업로드, 다운로드 할 때는 몇가지 고려할 점이 있는데, 구체적인 예제로 알아보자. 요구사항 상품을 관리 상품 이름 첨부파일 하나 이미지 파일 여러개 첨부파일을 업로드 다운로드 할 수 있다. 업로드한 이미지를 웹 브라우저에서 확인할 수 있다. Item - 상품 도메인 ItemRepository - 상품 리포지토리 UploadFile - 업로드 파일 정보 보관 uploadFileName : 고객이 업로드한 파일명 stroeFileName : 서버 내부에서 관리하는 파일명 고객이 업로드한 파일명으로 서버 내부에 파일을 저장하면 안된다. 왜냐하면 서로 다른 고객이 같은 파일이름을 업로드 하는 경우 기존 파일 이름과 충돌이 날 수 있다. 서버에서는 저..
스프링 MVC 2 - 스프링과 파일 업로드
스프링 MVC 2 - 스프링과 파일 업로드
2022.10.19스프링과 파일 업로드 스프링은 MultipartFile 이라는 인터페이스로 멀티파트 파일을 매우 편리하게 지원한다. SpringUploadController 코드를 보면 스프링 답게 딱 필요한 부분의 코드만 작성하면 된다. @RequestParam MultipartFile file 업로드하는 HTML Form의 name에 맞추어 @RequestParam을 적용하면 된다. 추가로 @ModelAttribute에서도 MultipartFile을 동일하게 사용할 수 있다. MultipartFile 주요 메서드 file.getOriginalFilename() : 업로드 파일 명 file.transferTo(...) : 파일 저장 실행 http://localhost:8080/spring/upload 실행 로그 req..
스프링 MVC 2 - 서블릿과 파일 업로드 2
스프링 MVC 2 - 서블릿과 파일 업로드 2
2022.10.19서블릿과 파일 업로드 2 서블릿이 제공하는 Part에 대해 알아보고 실제 파일도 서버에 업로드 해보자. 먼저 파일을 업로드를 하려면 실제 파일이 저장되는 경로가 필요하다. 해당 경로에 실제 폴더를 만들어두자. 그리고 다음에 만들어진 경로를 입력해두자. application.properties 주의 꼭 해당 경로에 실제 폴더를 미리 만들어두자. application.properties에서 설정할 때 마지막에 /(슬래시)가 포함된 것에 주의하자. ServletUploadControllerV2 application.properties에서 설정한 file.dir의 값을 주입한다. 멀티파트 형식은 전송 데이터를 하나하나 각각 부분(Part)으로 나누어 전송한다. parts에는 이렇게 나누어진 데이터가 각각 담긴다..
스프링 MVC 2 - 서블릿과 파일 업로드 1
스프링 MVC 2 - 서블릿과 파일 업로드 1
2022.10.14서블릿과 파일 업로드 1 먼저 서블릿을 통한 파일 업로드를 코드와 함께 알아보자. ServletUploadControllerV1 request.getParts() : multipart/form-data 전송 방식에서 각각 나누어진 부분을 받아서 확인할 수 있다. resources/templates/upload-form.html 테스트를 진행하기 전에 먼저 다음 옵션들을 추가하자. application.properties 이 옵션을 사용하면 HTTP 요청 메시지를 확인할 수 있다. 실행 http://localhost:8080/servlet/v1/upload 실행해보면 logging.level.org.apache.coyote.http11 옵션을 통한 로그에서 multipart/form-data 방식으로 전송..
스프링 MVC 2 - 프로젝트 생성(파일 업로드)
스프링 MVC 2 - 프로젝트 생성(파일 업로드)
2022.10.14프로젝트 생성 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 https://start.spring.io/ 프로젝트 선택 Project: Gradle Project Language: Java Spring Boot: 2.4.x Project Metadata Group: hello Artifact: upload Name: upload Package name: hello.upload Packaging: Jar Java: 11 Dependencies: Spring Web, Lombok, Thymeleaf build.gradle 동작확인 기본 메인 클래스 실행(UploadApplication.main()) http://localhost:8080 호출해서 Whitelabel Error Page가 나오면 ..