Spring Controller에서 파일 다운로드
많은 애플리케이션은 웹사이트에서 파일을 다운로드해야 합니다. 경우에 따라 이러한 파일은 Freemarker와 같은 프레임워크와 iText와 같은 PDF 생성 라이브러리를 사용하여 동적으로 생성됩니다. 그러나 이로 인해 사용자가 Spring Controller를 통해 파일을 다운로드할 수 있는 방법에 대한 문제가 발생합니다.
해결책에는 HttpServletResponse 개체를 사용하여 파일을 출력 스트림에 쓰는 것이 포함됩니다. 이는 다음 코드를 사용하여 달성할 수 있습니다.
@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET) public void getFile( @PathVariable("file_name") String fileName, HttpServletResponse response) { try { // get your file as InputStream InputStream is = ...; // copy it to response's OutputStream org.apache.commons.io.IOUtils.copy(is, response.getOutputStream()); response.flushBuffer(); } catch (IOException ex) { log.info("Error writing file to output stream. Filename was '{}'", fileName, ex); throw new RuntimeException("IOError writing file to output stream"); } }
출력 스트림에 액세스할 수 있으면 PDF 생성기에서 생성된 PDF의 대상으로 사용할 수 있습니다. 또한 Content-Type을 "application/pdf"로 설정하면 브라우저에 올바른 파일 형식을 지정할 수 있습니다.
위 내용은 Spring Controller를 사용하여 동적으로 생성된 파일을 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Java'splatforminceldenceMeansdeveloperscanwriteCodeOnceAndrunitonAnyDevicewithoutRecompiling.thisiSocievedTheRoughthejavirtualMachine (JVM), thisTecodeIntomachine-specificinstructions, hallyslatslatsplatforms.howev

JVM을 설정하려면 다음 단계를 따라야합니다. 1) JDK 다운로드 및 설치, 2) 환경 변수 설정, 3) 설치 확인, 4) IDE 설정, 5) 러너 프로그램 테스트. JVM을 설정하는 것은 단순히 작동하는 것이 아니라 메모리 할당, 쓰레기 수집, 성능 튜닝 및 오류 처리를 최적화하여 최적의 작동을 보장하는 것도 포함됩니다.

ToensureJavaplatform Independence, followthesesteps : 1) CompileIndrunyourApplicationOnMultiplePlatformsUsingDifferentOnsandjvMversions.2) Utilizeci/CDPIPELINES LICKINSORTIBACTIONSFORAUTOMATES-PLATFORMTESTING

javastandsoutindevelopmentduetoitsrobustfeatureslikelambdaexpressions, andenhancedconcurrencysupport.1) lambdaexpressionssimplifyfunctionalprogramming, 2) 스트림 유출 이용성 Dataprocessing withoperationli

Java의 핵심 기능에는 플랫폼 독립성, 객체 지향 디자인 및 풍부한 표준 라이브러리가 포함됩니다. 1) 객체 지향 설계는 다형성 기능을 통해 코드를보다 유연하고 유지 관리 할 수있게합니다. 2) 쓰레기 수집 메커니즘은 개발자의 메모리 관리 부담을 방해하지만 성능 문제를 피하기 위해 최적화해야합니다. 3) 표준 라이브러리는 컬렉션에서 네트워크까지 강력한 도구를 제공하지만 코드를 간결하게 유지하려면 데이터 구조를 신중하게 선택해야합니다.

예, Javacanruneverywhereduetoits "WriteOnce, Runanywhere"Philosophy.1) JavacodeiscompileDintoplatform-IndependentBecode.2) ThejavavirtualMachine (JVM) intermachineintomachine-specificinstructionstruntime, 허용

Java의 주요 기능은 다음과 같습니다. 1) 객체 지향 설계, 2) 플랫폼 독립성, 3) 쓰레기 수집 메커니즘, 4) 풍부한 라이브러리 및 프레임 워크, 5) 동시성 지원, 6) 예외 처리, 7) 연속 진화. Java의 이러한 기능은 효율적이고 유지 관리 가능한 소프트웨어를 개발하기위한 강력한 도구입니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기