Javascript 如何从unirest响应获取.tar.gz存档?

Javascript 如何从unirest响应获取.tar.gz存档?,javascript,node.js,unirest,Javascript,Node.js,Unirest,我开发了一个工具,使用onlinefontconverter.com API将ttf字体转换为其他格式。因此,我在获取propper tar.gz归档文件时遇到了问题。我得到了这个文件,但操作系统告诉我档案被破坏了。那个么如何从响应体保存文件呢?以下是我使用的代码: 'use strict'; const unirest = require('unirest'); const fs = require('fs'); const file = fs.createWriteStream('./onl

我开发了一个工具,使用onlinefontconverter.com API将ttf字体转换为其他格式。因此,我在获取propper tar.gz归档文件时遇到了问题。我得到了这个文件,但操作系统告诉我档案被破坏了。那个么如何从响应体保存文件呢?以下是我使用的代码:

'use strict';
const unirest = require('unirest');
const fs = require('fs');
const file = fs.createWriteStream('./onlinefontconverter.com.tar.gz');

unirest.post("https://ofc.p.mashape.com/directConvert/")
  .header("X-Mashape-Key", "key")
  .attach("file", fs.createReadStream('./Roboto-Thin.ttf'))
  .field("format", "svg")
  .end((result) => {
     file.write(result.body, {encoding:'binary'});
  });
以下是标题:

{“接受范围”:“字节”,
“访问控制允许标头”:“X-Mashape-Key”,
“访问控制允许方法”:“POST,选项”,
“访问控制允许来源”:“*”,
“访问控制公开标头”:“内容处置”,
“缓存控制”:“公共,最大年龄=0”,
“内容处置”:“附件;文件名=“onlinefontconverter.com.tar.gz”,
“内容类型”:“应用程序/八位字节流”,
日期:“2017年1月2日星期一18:52:34 GMT”,
过期日期:“0”,
“上次修改”:“2017年1月2日星期一18:52:34 GMT”,
pragma:'无缓存',
服务器:“Mashape/5.0.6”,
通过:“1.1维格尔”,
“内容长度”:“119251”,

连接:'Close'}
我认为这是
unirest
库中响应编码错误的问题。尝试以下操作(并隐藏您的密钥):


谢谢我自己弄明白了。我的代码在第一个帖子里。
'use strict';
const fs = require('fs');

const request = require('request');

const formData = {
  format: 'svg',
  file: fs.createReadStream('./Roboto-Thin.ttf')
}

var buff = [];
request.post({  url: "https://ofc.p.mashape.com/directConvert/",
            formData: formData,
            headers: {
                "X-Mashape-Key": "SecretMashapeKey"
            }
             })
        .on('data', function(chunk) {
            buff.push(chunk);
        })
        .on('end', function() {
            var data = Buffer.concat( buff );
            fs.writeFileSync( 'onlinefontconverter.com.tar.gz',
                              data, 
                              'binary' );
        });