#node.js #pdf #fs
#node.js #PDF #fs
Вопрос:
Я создаю приложение react, в котором у меня есть поле, позволяющее пользователям загружать файлы PDF.
Я успешно загрузил и отправил файлы в виде строки base64 на сервер, и я получаю его, однако у меня возникли проблемы с сохранением файла обратно в pdf, вот что я пробовал:
const fs = require("fs");
const invoice = { fileData: "data:application/pdf;base64,JVBERi0xLjandtherestofthedatastring..." };
const invoiceFileContents = new Buffer.from(invoice.fileData, "base64");
fs.writeFileSync(__dirname "invoicetest.pdf", invoiceFileContents);
Это создает файл pdf, но я не могу его открыть, Adobe говорит, что он сломан.
Ответ №1:
Мне удалось решить эту проблему, добавленная строка перед всей строкой данных data:application/pdf;base64,
должна быть обрезана:
const invoiceFileContents = new Buffer.from(
invoice.fileData.substring(invoice.fileData.indexOf("base64") 7),
"base64"
);