尝试使用octet stream
保存Unirest client
JSON格式响应(包含正常格式的文件数据)时,格式被破坏,用于打开该格式的(适当的)软件无法打开这个保存的文件。收到Data encoding mismatch
错误。
通过基于 POSTMAN chrome app的基于nodejs 驱动REST调用时,完全正常。
任何线索或导致这一点。
以下是用于在nodejs中接收八位字节流的代码:
urClient.get(url)
.header('Authorization', '<token>')
.header('Content-Type', 'application/json')
.end(
function(response) {
log.info('+++++++++++++++'+response.code);
//log.info('+++++++++++++++'+response);
//log.info('+++++++++++++++'+response.body);
//log.info('+++++++++++++++'+response.keys);
fs.writeFile(`${destination}\\${fileName}.${fileExtension}`, response.data, function (error) {
if (error) {
response = {
"error": error
};
res.statusCode = 400;
res.json(response); }
});
});
答案 0 :(得分:1)
而不是数据,需要使用流写入文件。
以下作品:
fs.writeFile(`response.txt`, response.stream, function (error) {
if (error) { console.error(error); }
});