从 api 响应正文保存 pdf 文件 - pdf 保存为空白文件

问题描述

我正在使用 nodejs v15 进行 api 自动化,其中我得到一个缓冲区作为响应主体,我需要在本地将其另存为 PDF 文件。我能够创建一个名为“pdf123.pdf”的 8kb 和 2 页的 pdf 文件,这是预期的。我有 2 个 prob 陈述 问题 1 - 当我打开保存的 pdf 文件时,它显示 2 个空白页。内容不见了。我也尝试过 encoding = null 和“二进制”。没有按预期工作。 (代码如下)

API response.body 如下所示 "%PDF-1.4\n%����\n1 0 obj\n

let request = require('request-promise');
    var api = "/report/download/request1";
    var auth = "Basic ####";

    var args = {
        headers: {
            "content-type": "application/pdf","Authorization": auth,},encoding: "binary"
    }
    return new Promise((resolve,reject) => {
        return webApi.restCall(api,"GET",args.data,args.headers).then((response) => {
            let writeStream = fs.createWriteStream('pdf123.pdf');
            writeStream.write(response.body,'binary');
            writeStream.on('finish',() => {
                console.log('wrote all data to file');
            });
            writeStream.end();
            resolve("Resolved")
        }).catch((err) => {
            reject("API call Failed");
        })
    })
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)