Я обращаюсь к существующей веб-службе WCF (которая возвращает PDF как поток байтов) с использованием jQuery ajax-методов.
Когда вызов службы завершается, я получаю переменную javascript, содержащую PDF (переменная содержит двоичные данные, начиная с "% PDF-1.4..." ).
Я хотел бы отобразить этот PDF файл в новом окне браузера, но мне трудно достичь этого.
Мои исследования пока показывают, что я мог бы добиться того, что хочу использовать данные: uri, поэтому мой код, который вызывается при завершении вызова ajax, выглядит следующим образом:
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;
}
Это приведет к открытию нового окна браузера, но содержимое пустым.
Интересно, если я укажу свой браузер (IE9) на существующий файл на своем локальном диске с помощью файла: uri, например file://c:/tmp/example.pdf, тогда я получаю тот же результат, т.е. пустое окно.
Есть ли способ показать данные PDF?