У меня есть сервлет, потоки в формате PDF, как, например:Отображение поточное PDF в IFRAME
ServletOutputStream out = response.getOutputStream();
byte[] pdfByteArray = JasperExportManager.exportReportToPdf(jasperPrintObject);
response.reset();
response.setContentType("application/pdf");
response.addHeader("Content-Disposition","inline;filename=temp.pdf");
out.write(pdfByteArray, 0, pdfByteArray.length);
out.flush();
out.close();
Это прекрасно работает, когда я называю сервлет. Теперь я использую ajax для вызова сервлета и отображения pdf в iframe. Я пытаюсь сделать это так:
$('#form1').on('submit', function(e) {
$form = $(this);
$.post($form.attr('action'), $form.serialize(), function(responseText) {
$('#frm').attr('srcdoc', responseText);
});
return false;
});
Функция Iframe однако заканчивается следующими данными: % PDF-1.4% 4 0 OBJ <> поток xKo7 P @ >, I W {襐 m "K I S (C { p Yv z ~ [ W U7 - QT Uw M K hDpѷ , V ݓ 8 ` { Z ( ((QX % A \ E _ X] wj ^M Q'j nԭ ( ' + . < Fa Jx ~ T < .¸ ( } g Bx ~ ! 0ɟR g i , o' ( >: I Bpt 捎 J5.kR 㢪 В] и {Oj : jT f) Lj X \ IKN63 o T 4g n 9 \ dhI'ss} @
и его заканчивается% EOF. В сервлете я сбросил ответ и установил тип содержимого. Что еще я должен сделать, чтобы PDF отображался правильно?
Похоже, что это может не работать в iframe. См. [This] (http://stackoverflow.com/a/12974315/206883) ответ – ponomandr
Спасибо. Я буду смотреть в него. – user3245747