Javascript TypeError:undefined不是nodejs中管道上的函数
我试图从jira服务器下载一个文件并将其存储在我的文件中,但我无法将其存储在我的文件中,错误如下:Javascript TypeError:undefined不是nodejs中管道上的函数,javascript,node.js,Javascript,Node.js,我试图从jira服务器下载一个文件并将其存储在我的文件中,但我无法将其存储在我的文件中,错误如下: (data.body).pipe(fs.WriteStream('file.xlsx')); ^ TypeError: undefined is not a function 我的nodejs代码: var express = require('express'); var app = express(); var request = require('request')
(data.body).pipe(fs.WriteStream('file.xlsx'));
^
TypeError: undefined is not a function
我的nodejs代码:
var express = require('express');
var app = express();
var request = require('request');
var bodyParser = require("body-parser");
var fs = require('fs');
var https = require('https');
app.use(bodyParser.urlencoded({ extended: false }));
require('ssl-root-cas/latest').inject();
var credentials = 'user:pass';
var encodedCredentials = new Buffer(credentials).toString('base64')
var url = ' https://gec-jira01.example.com/secure/attachment/IWREQ-373_update.xlsx';
request({
"method": "GET",
"rejectUnauthorized": false,
"url": url,
"headers" : {"Content-Type": "application/json",
"Authorization": "Basic"+' '+encodedCredentials}
}, function(err, data, body) {
//console.log(data);
(data.body).pipe(fs.WriteStream('file.xlsx'));
console.log(data.body);
)};
试试这个:
request({
method: "GET",
"rejectUnauthorized": false,
"url": url,
"headers" : {"Content-Type": "application/json",
"Authorization": "Basic"+' '+encodedCredentials}
}).pipe(
fs.createWriteStream('file.xlsx')
);
或者这个:
request({
method: "GET",
"rejectUnauthorized": false,
"url": url,
"headers" : {"Content-Type": "application/json",
"Authorization": "Basic"+' '+encodedCredentials}
},function(err,data,body) {
fs.WriteStream('file.xlsx').write(body);
});
你应该通过管道传递请求,而不是主体。As:
request({method:“GET”,“rejectUnauthorized”:false,“url”:url,“headers”:{“Content Type”:“application/json”,“Authorization”:“Basic”+“”+encodedCredentials}。)pipe(fs.WriteStream('file.xlsx')代码>但数据在正文中如何通过请求使其生效