微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决从 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 举报,一经查实,本站将立刻删除。