Tôi đang truy cập dịch vụ web WCF hiện có (trả về PDF dưới dạng luồng byte) bằng các phương pháp ajax của jquery.Cách hiển thị luồng PDF trong trình duyệt bằng cách sử dụng javascript
Khi cuộc gọi đến dịch vụ hoàn tất, tôi kết thúc bằng biến javascript chứa PDF (biến có dữ liệu nhị phân, bắt đầu từ "% PDF-1.4 ...").
Tôi muốn hiển thị tệp PDF này trong cửa sổ trình duyệt mới, nhưng tôi đang gặp khó khăn khi đạt được điều này.
Nghiên cứu của tôi cho đến nay cho thấy rằng tôi có thể có thể đạt được những gì tôi muốn sử dụng một dữ liệu: uri, do đó, mã của tôi đó là gọi khi cuộc gọi ajax hoàn thành được như sau:
function GotPDF(data)
{
// Here, data contains "%PDF-1.4 ..." etc.
var datauri = 'data:application/pdf;base64,' + Base64.encode(data);
var win = window.open("", "Your PDF", "width=1024,height=768,resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no");
win.document.location.href = datauri;
}
này gây ra mới cửa sổ trình duyệt mở, nhưng nội dung trống.
Điều thú vị là, nếu tôi trỏ trình duyệt của mình (IE9) vào một tệp hiện có trên đĩa cục bộ bằng cách sử dụng tệp: uri, chẳng hạn như tệp: // c: /tmp/example.pdf, sau đó tôi nhận được kết quả tương tự , tức là một cửa sổ trống.
Có cách nào để tôi có thể hiển thị dữ liệu PDF này không?