Как открыть PDF Blob, используя браузер PDF Viewer вместо загрузки? - PullRequest
0 голосов
/ 30 октября 2018

У меня есть ArrayBuffer данных для файла PDF, и я хотел бы открыть его с помощью встроенного средства просмотра PDF для браузера.

Вот код, который я использую:

const blob = new Blob([pdfBuffer], { type: 'application/pdf' });
const a = document.createElement('a');
a.href = window.URL.createObjectURL(blob);
a.download = fileName;
a.style.position = 'fixed';
a.target = '_blank';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

Это всегда приводит к тому, что файл PDF загружается в папку загрузок на устройстве, а не открывается на новой вкладке с помощью средства просмотра PDF в браузере. Я проверил это в Chrome, Opera и Firefox с одинаковыми результатами.

Я делал это раньше, когда PDF-файл был фактически загружен с самого сервера, просто установив заголовок Content-Disposition в ответе, но я не уверен, как это сделать на клиентской стороне Blob, как это.

1 Ответ

0 голосов
/ 06 ноября 2018

Вы можете использовать window.open() в результате window.URL.createObjectURL(blob), чтобы открыть PDF-файл в новом окне вместо его загрузки. Например:

var blob = new Blob([pdfBuffer], {type: 'application/pdf'});
var blobURL = URL.createObjectURL(blob);
window.open(blobURL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...