Я обращаюсь к существующему веб-сервису WCF (который возвращает PDF в виде потока байтов), используя методы jjery 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?