다운로드 버튼을 클릭 한 사용자를 위해 pdf 파일을 열어야합니다.파일을 만들지 않고 AJAX 호출을 사용하여 BLOB로 저장된 PDF 파일 내용을 출력하십시오.
다운로드 단추는 PDF 내용이 포함 된 데이터베이스의 blob 필드에서 데이터를 가져 와서 서블릿에 대한 ajax 호출을 작성하고 응답으로 리턴합니다.
응답을 PDF 파일로 사용자에게 다운로드하려면 어떻게해야합니까?
서블릿 코드는 다음과 같습니다 :
response.setContentType("application/pdf");
oracle.sql.BLOB blob = (BLOB) rs.getBlob("MYPDF");
byte[] bytes = blob.getBytes(1, (int) blob.length());
ServletOutputStream servletOutputStream = response.getOutputStream();
servletOutputStream.write(bytes, 0, bytes.length);
servletOutputStream.flush();
servletOutputStream.close();
은 내가 응답을 화재 버그를 확인 AJAX에 아래에있는 것과 같은 문자가 포함 된 긴 응답을받을 수 있습니다.
a J 㔎 ji 2K y 2 q 9 G ! % kɂ W mp) {h̕ S NJ_ A '2k j яR > wB e | = w p % w qǦ> ~ 1o 㾙 a a a a a a a a a a a a fM6K
나는 페이지를 제출하거나 URL에 쿼리 보여주는 보낸 매개 변수를 사용하여 서블릿 창을 팝업하지 않으
나는 또한 서버의 파일을 생성하지 않으.
아약스 호출에서 오는 서블릿의 응답을하고 페이지 또는 iframe 브라우저에 표시 할 수있는 방법이 있나요 자동으로 파일을 다운로드합니다 ...
'document.getElementById ('myform_1'). target = 'content_frame'; 양식 제출 '은 트릭을 수행했습니다 .... –