根据nodejs中的响应生成空白PDF文件

时间:2019-03-18 10:13:23

标签: javascript node.js pdf axios

我低于axios呼叫的响应:

Click here to download response (PDF)

当我试图从上述链接响应中生成PDF时,空白页面生成的PDF

var fs = require('fs');
fs.writeFileSync("12345678.pdf", response.data, 'binary');

axios通话:

const url = 'url-here'

const headers = {
    'headers-here'
  };
const axiosConfig = {
    headers,
  };

axios.get(url, axiosConfig)
    .then((response) => {

     var fs = require('fs');
     fs.writeFileSync("12345678.pdf", response.data, 'binary'); 

     callback(null, response.data);
      })
      .catch((error) => {
        logger.error(error.stack || error.message || error);
        callback(error, null);
});

有人可以帮助我生成正确的PDF吗?

1 个答案:

答案 0 :(得分:1)

responseType请求配置中正确的axios值需要设置为stream,并且需要pipe将响应放入流中。

axios({ 
  method:'get', 
  url: 'someUrl', 
  responseType: 'stream' // #1 
}) 
.then(function (response) { 
  response.data.pipe(fs.createWriteStream('12345678.pdf')) // #2
});