У меня есть сервер Node Js, в нем я получаю данные blob из другого веб-сервиса (который предназначен для файла PDF), теперь после получения blob я хочу снова преобразовать его в файл PDF.

Всем, кто знает, как этого добиться, помогите, пожалуйста.

Вот мой блок кода, который я пробовал до сих пор:

const fetch = require('node-fetch');
const Blob = require('fetch-blob');
const fs = require('fs');

fetch(url, options)
   .then(res => {
      console.log(res);
      res.blob().then(async (data) => {

         const result = data.stream();
         // below line of code saves a blank pdf file
         fs.createWriteStream(objectId + '.pdf').write(result);
      })
   })
   .catch(e => {
      console.log(e);
   });
3
Mayank yaduvanshi 16 Апр 2020 в 09:00

1 ответ

Лучший ответ

Пункты модификации:

  • Для fs.createWriteStream(objectId + '.pdf').write(data) измените res.blob() на res.buffer().
  • Измените .then(res => {res.blob().then() на .then(res => res.buffer()).then(.

Измененный скрипт:

fetch(url, options)
  .then(res => res.buffer())
  .then(data => {
    fs.createWriteStream(objectId + '.pdf').write(data);
  })
  .catch(e => {
    console.log(e);
  });

Заметка:

  • В этой модификации предполагается, что процесс выборки с использованием url и options работает нормально.

Ссылки:

0
halfer 4 Май 2020 в 22:16