내 POJO 클래스에 pdf 파일 위치 및 pdf 파일이 있습니다. 서블릿을 사용하여 pdf를 다운로드하고 싶습니다. 끝내기위한 몇 가지 방법을 알려주세요. 파일 위치 =/tmp/SWBC_444Thu May 03 20:01:07 IST 20124366242221752147545.pdf 이 파일 위치를 사용하여 사용자에게 pdf 파일을 다운로드하라는 메시지를 표시하려고합니다.서블릿을 사용하여 pdf로 보고서 다운로드
여기 내 코드입니다.
File file = new File(filePath);
OutputStream responseOutputStream = response.getOutputStream();
response.setContentLength((int)filePath.length());
FileInputStream fileInputStream = new FileInputStream(file);
int size = fileInputStream.available();
byte[] content = new byte[size];
int bytesRead;
while ((bytesRead = fileInputStream.read(content)) != -1)
{
responseOutputStream.write(content, 0, bytesRead);
}
responseOutputStream.flush();
fileInputStream.close();
responseOutputStream.close();
. 나는 파일을 읽고 생성하지만 그 파일을 열면 비어있다.
감사합니다 ..!
이 게시물을 볼 수 있습니다 : [JasperReports : 서블릿에서 보고서 호출] (http://stackoverflow.com/questions/2399507/jasperreports-calling-report-from-servlet) & [사용자에게 묻지 않는 다운로드보고 저장] (http://stackoverflow.com/questions/6085049/report-download-not-prompting-user-to-save). 너무 잘 검색;) –
파일 file = new File (filePath); ServletOutputStream servletOutputStream = response.getOutputStream(); ; BufferedInputStream bufferIput = null; FileInputStream fileInputStream = 새 FileInputStream (파일); bufferIput = new BufferedInputStream (fileInputStream); 바이트 [] bBuffer = 새 바이트 [fileInputStream.available()]; int nBytes = -1; while ((nBytes = bufferIput.read (bBuffer, 0, bBuffer.length)) ! = -1) { servletOutputStream.write (bBuffer, 0, nBytes); } 문제가 해결되었습니다. 당신은이 코드를 사용하여 pdf 파일을 읽고 – Stephen
을 다운로드 할 수 있습니다. 다른 사람들을 돕기 위해 해결책을 게시 할 수 있습니다. –