스프링 파일 다운로드 경로

IO 작업을 위해 고도로 사용 되는 또 다른 라이브러리는 아파치 커먼스 IO입니다. 우리는 Javadoc에서 일반 파일 조작 작업에 사용 되는 FileUtils 라는 유틸리티 클래스가 있다는 것을 볼 수 있습니다. URL의 콘텐츠를 다운로드 하기 위해 사용 됩니다는 Readbytechannel 및 FileChannel 클래스입니다. 당신이 볼 수 있듯이 우리는 URL 개체를 사용 하 여 연결을 열고 다음을 통해 그것을 읽고는 BufferedInputStreamReader 개체입니다. 내용을 바이트로 읽고 FileOutputStream을 사용 하 여 로컬 디렉터리의 파일에 복사 합니다. 참고로 위의 예외 클래스에 @ResponseStatus (HttpStatus가 아님)를 주석으로 처리 했습니다. 이렇게 하면이 예외가 throw 되 면 스프링 부팅이 404 찾을 수 없음 상태로 응답 합니다. 이 섹션에서는 각 HttpreFileChannel Body 부분을 메모리에 누적 하는 대신 스프링 부트 서버 구현을 설명 하며,이를 사용 하 여 로컬 파일에 직접 바이트를 씁니다. GetBodyByteBuffer () 메서드를 사용 하 여 ByteBuffer를 통해 본문 부분 콘텐츠에 액세스 합니다. 읽기에서 읽은 바이트는 다운로드 될 파일에 해당 하는 FileChannel 전송 됩니다: 모든 오른쪽 사람! 이 문서에서는, 우리는 스프링 부팅으로 작성 된 REST Api를 통해 단일 뿐만 아니라 여러 파일을 업로드 하는 방법을 배웠습니다. 우리는 또한 봄 부팅에 파일을 다운로드 하는 방법을 배웠습니다. 마지막으로 javascript를 통해 Api를 호출 하 여 파일을 업로드 하는 코드를 작성 했습니다. 이름에서 알 수 있듯이이 클래스는/uploadFile 및/Auploadmultiplefiles Api에서 응답을 반환 하는 데 사용 됩니다.

아파치 커먼즈 IO를 사용 하 여 주어진 URL에서 파일을 다운로드 하려면 우리는 필요 합니다 FileUtils 패키지의 클래스. 다음과 같은 파일을 다운로드 하는 데 필요한 코드는 한 줄만 있습니다. 우리가 사용 하 게 될 두 번째 클래스는 BufferedInputStreamReader 및 FileOutputStream입니다. 이러한 클래스는 각각 파일에서 읽고 쓰는 데 사용 됩니다. 파일을 검색 하는 것은 봄에 매우 간단 합니다. 시스템에 있는 파일의 경우 FileSystemResource는 절대 경로를 파일에 전달 하는 데 사용 됩니다. 클래스 경로에 있는 파일의 경우 ClassPathResource는 클래스 경로 내의 절대 경로와 함께 사용 됩니다. 의 FileStorageProperties 라는 POJO 클래스를 정의 해 보겠습니다. 모든 파일 저장소 속성을 바인딩하는 속성 패키지-섹션 2의 코드와 다른 미묘한 차이점.

는 FileOutputStream을 사용 하 여 열려는 append 매개 변수를 true로 설정: 파일을 다운로드 하는 것은 매우 간단 하 고 다음 단계를 포함 합니다.