이 빠른 기사에서는 스프링 컨트롤러에서 이미지 또는 파일을 반환하는 간단한 문제를 살펴보는 것이 있었습니다. 다음은 StreamingResponseBody를 사용하는 스프링 부팅 다운로드 파일 예제입니다. 스트림을 사용 하 여 StreamingResponseBody 다운로드 파일을 사용 하 여 가능 하다. 이 경우 서버가 동시에 OutputStream에 데이터를 작성 브라우저는 데이터를 읽습니다. 따라서 StreamingResponseBody 쓰기 및 읽기는 병렬로 할 수 있습니다. 서버에서 대용량 파일을 다운로드 할 때 매우 유용합니다. 최대 파일 크기 – 업로드된 파일에 허용되는 최대 크기를 지정합니다. 기본값은 1MB입니다. 이를 위해서는 먼저 데이터베이스 구성이 필요합니다. 스프링 부팅은 application.properties에 몇 가지 속성을 추가하여 매우 편리한 방법을 제공합니다. 우리는 우리의 목적을 위해 봄 데이터 JPA를 사용할 것입니다.
이 튜토리얼에서 폴더에 있는 모든 파일을 표시하는 동안 루프를 사용하여 봄 MVC를 사용하여 JSP의 로컬 폴더에서 이미지, PDF, zip 같은 파일을 표시하는 방법, 우리는 우리가 업로드하고 봄 부팅 및 REST와 같은 파일을 다운로드 할 수있는 다른 방법을 배울 것입니다. 구현에는 단일 및 여러 파일을 업로드하고 다운로드하는 예제가 있습니다. 업로드하는 동안 스프링 프레임워크에 제공된 리소스를 사용하여 업로드된 파일을 로컬 파일 시스템에 저장하거나 데이터베이스에 저장할 수 있습니다. 우리는이 빠른 튜토리얼MySql을 사용하는 것입니다. 여러 파일이 내부적으로 호출하여 위의 메서드를 호출하여 단일 파일 업로드를 반복합니다. 또한 클라이언트와 서버 측에서 .zip 파일을 업로드하는 기능을 사용할 수 있으며, 압축을 풀고 로컬 파일 시스템에 개별적으로 저장할 수 있습니다. 파일 목록은 MvcUriComponentsBuilder를 사용하여 실제로 다운로드할 파일을 제공할 메서드에 따라 URL을 준비합니다. 사용자가 파일 이름 헤더를 클릭하면 첨부 파일이 클라이언트로 전송됩니다. spring.servlet.multipart.enabled – 다중 파트 업로드를 지원할지 여부. 클라이언트에 정적 파일을 제공하는 것은 다양한 방법으로 수행 할 수 있으며 스프링 컨트롤러를 사용하는 것이 반드시 최상의 옵션은 아닙니다. 다음은 Spring 부팅 다운로드 파일 예제이지만이 코드는 spring MVC에서도 작동합니다. 안녕하세요, 튜토리얼 주셔서 감사합니다! 사용자가 소스 폴더를 선택한 다음 해당 폴더의 jpeg 파일만 서버 위치에 업로드할 수 있도록 허용하는 요구 사항에 대해 작업 중입니다.
파일 대신 폴더 선택을 구현할 수 있는 방법에 대한 몇 가지 입력을 제공하십시오. 여러 파일을 다운로드하는 동안, 우리는 봄 부팅에 zip 파일을 생성하고 오히려 다음 개별적으로 여러 파일을 다운로드 혼자 그 zip 파일을 다운로드 할 수 있습니다. 이를 위해 먼저 스프링 부팅에서 zip 파일을 만든 다음 콘텐츠 형식을 응용 프로그램/zip으로 설정하여 zip 파일을 다운로드해야 합니다. https://start.spring.io 가서 아래 아티팩트가 있는 스프링 부트 데모 프로젝트를 생성하십시오. 파일 다운로드는 2단계 프로세스입니다. 첫째, 우리는 URL 양식에 있는 모든 파일을 나열해야 하고 사용자가 링크를 클릭하면 실제 파일을 보냅니다. 수정된 FileDownloadController는 참조 헤더가 null이 아닌 경우에만 브라우저로 파일을 보냅니다. 이렇게 하면 브라우저에 URL을 입력하거나 다른 도메인에서 오는 요청을 통해 이미지가 직접 다운로드되는 것을 방지할 수 있습니다. 이 코드는 service 클래스 개체를 만든 후 실행됩니다. 이 init 메서드에서는 파일을 업로드하려는 디렉터리를 만들려고 합니다. 파일 업로드를 사용하여 추가 매개 변수를 추가하려면 클라이언트 측의 양식 데이터에 해당 추가 매개 변수를 추가할 수 있으며 서버 측에서 요청 매개 변수로 검색할 수 있습니다.