Node.js 从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': {

执行请求时是否可以从URL读取文件

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读取然后下载的吗?