从Node.js中的响应生成空白PDF文件

Mil*_*lan 5 javascript pdf node.js axios

我收到以下axios呼叫的响应:

点击此处下载回复(PDF)

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

var fs = require('fs');
fs.writeFileSync("12345678.pdf", response.data, 'binary');
Run Code Online (Sandbox Code Playgroud)

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);
});
Run Code Online (Sandbox Code Playgroud)

谁能帮助我生成正确的PDF?

eth*_*ane 6

需要responseTypeaxios请求配置中的正确值设置stream为以及pipe将响应放入流中。

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