문제

우리는 Tomcat을 실행하고 있으며 PDF 파일을 즉시 생성하고 있습니다. 손에 파일 크기가 없으므로 서버의 파일에 링크 할 수 없습니다. 그래서 직접 출력을 보냅니다.

response.setContentType("application/force-download");
OutputStream o = response.getOutputStream();

그런 다음이 출력 스트림으로 직접 출력합니다.

유일한 문제는 수신기가 파일 크기를 얻지 못하므로 다운로드가 얼마나 오래 걸리는지 알지 못한다는 것입니다. 파일이 얼마나 큰지 응답을 알리는 방법이 있습니까?

편집하다파일 크기를 알고 있습니다. 파일이 얼마나 큰지 스트림에 알 수 없습니다.

도움이 되었습니까?

해결책

응답 객체에는 a가 있어야합니다 setContentLength 방법:

// Assumes response is a ServletResponse
response.setContentLength(sizeHere);

다른 팁

PDF 바이트 스트림을 파일로 또는 바이트 배열로 시리얼 화하고 크기를 계산하고 크기를 설정하여 출력 스트림에 씁니다.

나는 당신이 당신의 Qustion을 ansisting하는 당신의 자기 자신을 말하고 있습니다 : 인용문 : 나는 파일 크기가 없어서 직접 출력을 보냅니다.

크기가 없다면 보낼 수 없습니다 ....

TO Temp 파일 시스템 또는 RAM-베이스 파일 시스템 또는 메모리 맵 파일에서 PDF 파일을 생성하지 않겠습니까? 그런 다음 파일 크기를 얻을 수 있습니다.

Response.setContentType ( "응용 프로그램/포스 다운로드"); 응답 .setContentLength (sizeHere); outputStream o = response.getOutputStream ();

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top