Я разрабатываю веб-приложение, в котором пользователь может загрузить файл PDF, а затем получить его и просмотреть. Что я делал для этого, так это то, что PDF-файл загружался в базу данных PostgreSQL как тип данных bytea (столбец называется «вложением»), а затем, когда nodeJS предлагал эти данные для получения и преобразования обратно в PDF-файл для просмотра.
Однако я изо всех сил пытался преобразовать данные обратно в действительный PDF-файл. Это метод, который я использую до сих пор.
var file = new Blob([res[i].attachment], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
document.getElementById("pdf_box").data = fileURL;
Идентификатор #pdf_box относится к элементу объекта в файле HTML, который используется для отображения PDF (было показано, что он работает, когда я укажите местоположение файла фиктивного PDF-файла для атрибута data этого элемента).
Также показано, что файл res [i] .attachment предоставляет допустимые данные буфера в формате JSON, с примером, приведенным ниже :
"attachment":{"type":"Buffer","data":[91,111,98,106,101,99,116,32,70,105,108,101,93]}
Однако, когда я загружаю созданный fileURL в атрибут данных #pdf_box, я получаю сообщение об ошибке, указывающее в строках недопустимого файла PDF. Мои исследования до сих пор показывают, что это может быть связано с тем, что данные поступают в виде буфера, тогда как они должны быть в байтовой форме, но я не нашел ничего, что помогло бы мне показать, как это может быть достигнуто, или есть ли способ конвертировать между формами с данными, к которым у меня есть доступ? Я также время от времени встречал ссылки на метод pdf.create (), но я не могу найти по нему документацию и предполагаю, что он должен принадлежать сторонней библиотеке для JS.
Если вы знаете о Любая информация, которая может помочь мне понять, в чем моя проблема и что искать, чтобы найти решение, я буду очень признателен, спасибо.