2
Javascript를 사용하여 PDF 파일의 바이트 스트림을 새 창에서 팝업하려고합니다. 이 게시물이 방법은 크롬 개발자 도구에서이새 브라우저 창에서 PDF bytestream이 응답으로 표시됩니다.
$.ajax({
url: url,
cache: false,
type:'POST',
data: JSON.stringify(data),
contentType:"application/json; charset=UTF-8",
success: function (responseData){
var win=window.open('about:blank', target, windowProperties);
with(win.document)
{
open();
write(responseData);
close();
}
}
});
같은 JS에서 AJAX 호출에 의해 호출되는
@RequestMapping(value = "/print", method = RequestMethod.POST, consumes="application/json")
public ModelAndView printCompareChart(@RequestBody ChartGenerationRequest request,
HttpServletRequest httpRequest) throws Exception {
byte [] bytes =//bytestream of a pdf file
ModelAndView mav = new ModelAndView();
mav.addObject("byteArray", bytes);
mav.setViewName("pdfByteArrayPrint");
return mav;
}
아래에 주어진 백엔드에서
나는 봄 컨트롤러 코드를 사용하고 응답 데이터가 바이트로 표시되지만 새 브라우저 창에는 실제 PDF 파일이 표시되지 않지만 바이트 자체는 표시됩니다. 내가 바이트 스트림에서 추출 여기에 실제 파일을 표시 할 수 있습니다 방법이
나는를 출력 얻고있다?
내가 JSON 데이터의 전송 스트림 –
로 PDF 파일을 다시 얻고있다'HTML 문서가 win.document'. 당신이 쓴 것은 중요하지 않습니다. – zeroflagL