У меня есть 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
, как это.