spring 파일 다운로드 경로

클래스는 파일 시스템에 파일을 저장 하 고 검색 하는 데 FileStorageService를 사용 합니다. 업로드를 완료 한 후 응답 형식의 페이로드를 반환 합니다. 이러한 클래스를 하나씩 정의 해 보겠습니다. ReadableByteChannel 클래스에서 전송 () 메서드를 사용 하 여 주어진 URL에서 우리의 FileChannel 바이트를 다운로드 합니다. IO 작업을 위해 고도로 사용 되는 또 다른 라이브러리는 아파치 커먼스 IO 이다. 우리는 Javadoc에서 일반 파일 조작 작업에 사용 되는 FileUtils 라는 유틸리티 클래스가 있다는 것을 볼 수 있습니다. 우리의 로컬 파일에 URL에서 읽은 바이트를 작성 하기 위해, 우리는 FileOutputStream 클래스에서 쓰기 () 메소드를 사용 합니다: 파일을 검색 하는 것은 봄에 매우 간단 합니다. 시스템에 있는 파일의 경우 FileSystemResource는 절대 경로를 파일에 전달 하는 데 사용 됩니다. 클래스 경로에 있는 파일의 경우 ClassPathResource는 클래스 경로 내의 절대 경로와 함께 사용 됩니다.

스프링 부트 CLI를 사용 하 여 응용 프로그램을 생성 해 보겠습니다. 터미널을 실행 하 고 응용 프로그램을 생성 하기 위해 다음 명령을 입력 합니다-ReadFileChannel에서 읽은 바이트가 다운로드 될 파일에 해당 하는 파일로 전송 됩니다: 다운로드 한 콘텐츠는 FileOutputStream: 각 HttpreFileChannel Body 부분을 메모리에 누적 하는 대신, 로컬 파일에 바이트를 직접 쓰기 위해를 사용 합니다. GetBodyByteBuffer () 메서드를 사용 하 여 ByteBuffer를 통해 본문 부분 콘텐츠에 액세스 합니다. 이제 파일을 업로드 하 고 다운로드 하기 위한 REST Api를 작성해 보겠습니다. 라는 새 컨트롤러 클래스를 만듭니다. 예를 들어 filedemo. 컨트롤러 패키지. Com 내에서 FileStorageProperties 라는 POJO 클래스를 정의 해 보겠습니다. 모든 파일 저장소 속성을 바인딩하는 속성 패키지-이 자습서에서는 Spring을 사용 하 여 클래스 경로에 있는 파일의 내용을 액세스 하 고 로드 하는 다양 한 방법을 살펴보겠습니다. 참고로, 리소스에서 우리는 InputStream 또는 File과 같은 Java 표준 표현으로 쉽게 이동할 수 있습니다. 주의 사항으로 봄에 리소스를 검색 하는 또 다른 방법이 있지만 ResourceUtils Javadoc 클래스는 주로 내부용입니다. 이제 파일 시스템에 파일을 저장 하 고 검색 하는 서비스를 작성 하겠습니다.

라는 새 클래스를 만듭니다. 예제. 다음 내용을 포함 하는 서비스 패키지-FileStorageService 클래스는 예기치 않은 상황의 경우 몇 가지 예외를 throw 합니다. 다음은 이러한 예외 클래스의 정의입니다 (모든 예외 클래스는 패키지의 내부로 이동 합니다. 를 만들 수 있습니다. 다음 내용을 포함 하는 페이로드 패키지-사용할 두 번째 클래스는 BufferedInputStreamReader 및 FileOutputStream 합니다. 이러한 클래스는 각각 파일에서 읽고 쓰는 데 사용 됩니다. URL의 콘텐츠를 다운로드 하기 위해 사용 됩니다는 Readbytechannel 및 FileChannel 클래스입니다.

자습서 소스 코드는 Github에서 사용할 수 있습니다. 소스를 다운로드 아파치 커먼즈 IO를 사용 하 여 주어진 URL에서 파일을 다운로드 우리는 필요 합니다 FileUtils 패키지의 클래스.

This entry was posted in Non classé. Bookmark the permalink.