Node.js 从URL读取文件时是否可以发出请求?
执行请求时是否可以从URL读取文件Node.js 从URL读取文件时是否可以发出请求?,node.js,request,fs,Node.js,Request,Fs,执行请求时是否可以从URL读取文件 var options = { 'method': 'POST', 'url': 'http://172.19.64.193:8080/services/update?id=AkDwkm5bKo0ARvuvTaM7yj', 'headers': { 'Authorization': 'Bearer ' + authToken }, formData: { 'Filedata': {
var options = {
'method': 'POST',
'url': 'http://172.19.64.193:8080/services/update?id=AkDwkm5bKo0ARvuvTaM7yj',
'headers': {
'Authorization': 'Bearer ' + authToken
},
formData: {
'Filedata': {
'value': fs.createReadStream('image.jpg').pipe(request.put('https://www.worldcocoafoundation.org/wp/uploads/image.jpg')),
'options': {
'filename': '7798153810500.jpg',
'contentType': null
}
}
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
使用管道()执行createReadStream时,会抛出错误:
TypeError: request.put is not a function
从您得到的错误来看,
请求
符号似乎被其他定义覆盖,因此不是您期望的请求
库
您需要更改覆盖它的变量/函数参数名称,以便它们不会冲突。请求从何而来?您能显示定义该变量的代码吗?可能是您无意中用非NPM模块的名称覆盖了
request
变量,因此没有.put()
方法,因为此request
变量不是NPM的request
模块,而是其他模块。您去哪里了?请不要只是张贴和消失。如果您这样做,我们将无法帮助您。是的,请求已被覆盖。但是现在我得到了一个错误:error:enoint:没有这样的文件或目录,打开'image.jpg',如果你说这个fs.createReadStream('image.jpg')
生成了enoint,那么在当前目录中找不到image.jpg
,这是不言自明的。也许它需要一条正确的道路?或者,您的代码尚未完成放置?它不是从URL读取然后下载的吗?