UI에서 파일을 업로드할 때 위의 메서드가 시작됩니다. 스프링 컨트롤러는 MultipartFile을 수신한 다음 저장소 서비스 클래스로 전송됩니다. 또한 일반적으로 파일을 다운로드하는 작업은 HTTP를 통해 수행되므로 AsyncHttpClient 라이브러리를 사용하여 이 작업을 수행하는 방법을 보여 주어 도왔습니다. 파일 목록은 MvcUriComponentsBuilder를 사용하여 실제로 다운로드할 파일을 제공할 메서드에 따라 URL을 준비합니다. 사용자가 파일 이름 헤더를 클릭하면 첨부 파일이 클라이언트로 전송됩니다. transferFrom() 및 transferTo() 메서드는 버퍼를 사용하여 스트림을 사용하는 것보다 훨씬 효율적입니다. 전송 방법을 사용하면 파일 시스템 캐시의 내용을 시스템의 파일에 직접 복사할 수 있습니다. 따라서 직접 채널링은 필요한 컨텍스트 스위치 수를 제한하고 전체 코드 성능을 향상시킵니다. 이제 응용 프로그램 URL을 누르면 http://localhost:8080/springmvcexample/download/pdf/sample.pdf 다음과 같이 브라우저에서 다음과 같이 대화 상자로 저장할 수 있습니다. 그러나이 경우 너무 간단합니다. 다음 목록(src/main/java/com/example/springboot/Application.java)과 일치하도록 응용 프로그램 클래스를 수정해야 합니다. 내 파일은 E와 같은 다른 디렉토리에 저장 :/ 업로드 / 문서 / Naresh.doc 다운로드하는 방법은 U 나에게 가장 쉽게 사용할 수 있고 자바 코드를 사용하여 인터넷에서 파일을 다운로드 할 수있는 기본 패키지는 자바 IO 패키지입니다.

여기서는 BufferedInputStream 및 URL 클래스를 사용하여 로컬 시스템의 파일에 지정된 주소의 파일을 열고 읽습니다. InputStream 대신 BufferedInputStream 클래스를 사용하는 이유는 코드에 성능 향상을 제공하는 버퍼링 기능입니다. upload.html – 파일 입력의 수락 속성을 accept=”.txt,.pdf” FileSystemStorageService.java로 변경해야 합니다. txt,pdf}”) 파일을 다운로드하는 첫 번째 단계는 서버에 요청을 발행할 HTTP 클라이언트 개체를 만드는 것입니다. 이를 위해 CloseableHttpClient 클래스를 사용할 것입니다. CloseableHttpClient 클래스는 HttpClientBuilder 클래스가 인스턴스를 만들어야 하는 추상 클래스입니다. 새 HTTP 클라이언트를 만드는 코드 조각은 다음과 같습니다: 파일 다운로드는 2단계 프로세스입니다. 첫째, 우리는 URL 양식에 있는 모든 파일을 나열해야 하고 사용자가 링크를 클릭하면 실제 파일을 보냅니다. Range 헤더를 사용하는 또 다른 일반적인 방법은 다른 바이트 범위를 설정하여 청크에서 파일을 다운로드하는 것입니다. 예를 들어 2KB 파일을 다운로드하려면 범위 0 – 1024 및 1024 ~ 2048을 사용할 수 있습니다.

텍스트 파일만 업로드할 수 있도록 허용하고 있습니다. 업로드 버튼은 사용자가 텍스트 파일을 선택할 때만 활성화됩니다. 이에 대한 코드는 upload.js에서 사용할 수 있습니다. 파일을 다운로드하는 데 사용할 수 있는 가장 기본적인 API는 Java IO입니다. URL 클래스를 사용하여 다운로드하려는 파일에 대한 연결을 열 수 있습니다. 파일을 효과적으로 읽으려면 openStream() 메서드를 사용하여 InputStream을 얻습니다: 인터넷을 통해 파일을 다운로드하는 데 사용할 수 있는 아파치 공용 IO 패키지의 또 다른 클래스는 IOUtils 클래스입니다. 우리는 로컬 시스템에 파일을 다운로드하는 복사 (입력스트림, fileOS) 방법을 사용합니다. 그래서 당신은 그것을 가지고 – 이들은 기본 자바 코드 및 기타 타사 라이브러리를 사용하여 파일을 다운로드하는 가장 간단한 방법입니다. 이제 기본 작업을 마쳤으므로 원하는 만큼 창의적이고 필요에 맞게 지식을 활용할 수 있습니다. 그래서 당신이 더 나은 코더가 될 수 있도록 개념의 새로운 세트와 함께 다음 번에 당신을 참조하십시오.