如何将接收到的八位字节流作为 REST 响应保存到文件系统?
How to save octet stream received as REST response to the file system?
在尝试保存使用 Unirest client
收到的 octet stream
JSON 格式响应(包含专有格式的文件数据)时,格式已损坏并且(专有)软件用于打开该格式无法打开此保存的文件。 Data encoding mismatch
收到错误。
相同的工作得很好当REST调用被驱动时通过基于nodejs POSTMAN chrome应用
任何线索或线索。
以下是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); }
});
});
需要使用流而不是数据来写入文件。
以下作品:
fs.writeFile(`response.txt`, response.stream, function (error) {
if (error) { console.error(error); }
});
在尝试保存使用 Unirest client
收到的 octet stream
JSON 格式响应(包含专有格式的文件数据)时,格式已损坏并且(专有)软件用于打开该格式无法打开此保存的文件。 Data encoding mismatch
收到错误。
相同的工作得很好当REST调用被驱动时通过基于nodejs POSTMAN chrome应用
任何线索或线索。
以下是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); }
});
});
需要使用流而不是数据来写入文件。
以下作品:
fs.writeFile(`response.txt`, response.stream, function (error) {
if (error) { console.error(error); }
});