javascript - Node环境下如何将BLOB转为PDF文件?

标签 javascript node.js fetch blob

我有一个 Node Js 服务器,在其中,我正在从另一个 Web 服务(用于 PDF 文件)获取 blob 数据,现在在收到 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);
   });

最佳答案

修改点:

  • 对于 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);
      });
    

    笔记:
  • 在本次修改中,假设获取过程使用 urloptions工作正常。

  • 引用:
  • node-fetch
  • write()
  • 关于javascript - Node环境下如何将BLOB转为PDF文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61243648/

    相关文章:

    javascript - json 对象 javascript 困惑

    javascript - Safari 无法显示动态创建页面的窗口标题

    javascript - 标题标签中的 div 自动关闭

    node.js - MongoDB 查询在 $or 查询中具有多种变体,其中至少 x 条语句必须匹配

    node.js - 为什么我使用 Socket.IO 将 NodeJS 服务器 (Sails) 与另一个 NodeJS 服务器 (Express4) 的连接失败?

    javascript - Ajax 发送 FormData 并检索多维数组

    javascript - Node.js 集群并没有显着提高性能

    javascript - 无法从 promise 中捕获异常

    iphone - 即使在iOS7中重启设备后,仍会调用后台模式位置和提取吗?

    javascript - 我的提取请求不断收到错误 "the string did not match the expected pattern"