이 기사에서는 스프링 부팅 REST로 파일과 이미지를 업로드하고 다운로드하는 다양한 방법에 대해 이야기하고 Postman으로 테스트했습니다. 다음은 Spring 부팅 다운로드 파일 예제이지만이 코드는 spring MVC에서도 작동합니다. 텍스트 파일만 업로드할 수 있도록 허용하고 있습니다. 업로드 버튼은 사용자가 텍스트 파일을 선택할 때만 활성화됩니다. 이에 대한 코드는 upload.js에서 사용할 수 있습니다. 참고: file.upload-dir 속성을 업로드된 파일을 저장할 경로로 변경하십시오. 이 기사에서는 Spring Boot가 Java에서 파일을 업로드하고 다운로드하는 방법을 쉽게 구현할 수 있는지 확인했습니다. Spring Boot에는 @ConfigurationProperties라는 멋진 기능이 있어 application.properties 파일에 정의된 속성을 POJO 클래스에 자동으로 바인딩할 수 있습니다. 위의 코드에서는 다운로드할 파일을 리소스로 변환합니다. 이 리소스는 나중에 컨트롤러를 통해 다운로드하도록 푸시됩니다. FileController 클래스는 FileStorageService를 사용하여 파일 시스템에 파일을 저장하고 검색합니다. 업로드가 완료된 후 UploadFileResponse 형식의 페이로드를 반환합니다.

이러한 클래스를 하나씩 정의해 보겠습니다. 다음은 Spring Boot 앱에서 파일 업로드를 활성화하기 위해 application.properties에 필요한 다중 부분 구성입니다. 이 메서드는 스프링 컨트롤러에서 MultipartFile을 가져옵니다. 그런 다음 파일 이름이 업로드 디렉터리와 비교하여 확인되고 복사됩니다. 다음은 이를 위한 REST 구현입니다. 구현은 로컬 파일 시스템에 저장하는 대신 파일을 저장하는 DB 호출이 있는 경우를 제외하고는 위의 논리와 유사합니다. 위의 코드는 설명이 있습니다. FormData 개체와 함께 XMLHttpRequest를 사용하여 파일을 다중 부분 / 양식 데이터로 업로드합니다. 이 빠른 기사에서는 스프링 컨트롤러에서 이미지 또는 파일을 반환하는 간단한 문제를 살펴보는 것이 있었습니다. 이를 위해서는 먼저 데이터베이스 구성이 필요합니다. 스프링 부팅은 application.properties에 몇 가지 속성을 추가하여 매우 편리한 방법을 제공합니다. 우리는 우리의 목적을 위해 봄 데이터 JPA를 사용할 것입니다.

백 엔드 API가 정상적으로 작동합니다. 이제 사용자가 웹 앱에서 파일을 업로드하고 다운로드할 수 있도록 프런트 엔드 코드를 작성해 보겠습니다. 모든 권리 사람들! 이 문서에서는 스프링 부팅으로 작성된 REST API를 통해 단일 파일과 여러 파일을 업로드하는 방법을 배웠습니다. 우리는 또한 스프링 부팅에서 파일을 다운로드하는 방법을 배웠습니다. 마지막으로 자바 스크립트를 통해 API를 호출하여 파일을 업로드하는 코드를 작성했습니다. 여러 파일이 내부적으로 호출하여 위의 메서드를 호출하여 단일 파일 업로드를 반복합니다. 또한 클라이언트와 서버 측에서 .zip 파일을 업로드하는 기능을 사용할 수 있으며, 압축을 풀고 로컬 파일 시스템에 개별적으로 저장할 수 있습니다. 먼저 파일을 업로드하고 다운로드하기 위해 REST API를 빌드한 다음 Postman을 사용하여 해당 API를 테스트합니다.

또한 파일을 업로드하기 위해 자바 스크립트에 프런트 엔드 코드를 작성합니다. 아래 비디오에서는 스프링 부팅의 예제 파일 다운로드를 자세히 살펴봅니다. 시작해 봅시다! 파일 다운로드는 2단계 프로세스입니다. 첫째, 우리는 URL 양식에 있는 모든 파일을 나열해야 하고 사용자가 링크를 클릭하면 실제 파일을 보냅니다. 파일 업로드에 대한 응답을 이미 발견했습니다. 그것은 간단한 GET URL이며, 해당 URL의 클릭에 파일은 우리가 응용 프로그램 / 옥텟 스트림으로 첨부 파일및 콘텐츠 유형에 응답 헤더에 콘텐츠 성향을 추가 할 때 브라우저에서 자동으로 다운로드됩니다. UI에서 파일을 업로드할 때 위의 메서드가 시작됩니다. 스프링 컨트롤러는 MultipartFile을 수신한 다음 저장소 서비스 클래스로 전송됩니다. 브라우저에서 URL을 발사하면 파일이 다운로드됩니다. http://localhost:8080/downloadFile 이 경우 파일은 양식 데이터를 사용하여 전송되고 스프링 컨트롤러 나머지에서 다중 파트 파일로 검색됩니다. 다중 파트 요청에서 수신된 업로드된 파일의 표현입니다.