有没有办法在 nodeJS POST API 请求中指定本地文件系统路径,我可以使用 curl 但不能使用 nodejs 进行 api 调用

Is there way to specify local file system path in nodeJS POST API request , am able to make api call using curl but not with nodejs

以下 curl API 成功将 .zip 文件从本地文件系统部署到 Azure Function APP。

curl -X POST -u user123:P@ssword --data-binary @"C:\Ddrive\Porject\deploy-zip\wb-uc-code.zip" "https://abc-world.scm.azurewebsites.net/api/zipdeploy"

但我想用 NodeJs 实现同样的效果:所以我将它转换为 -

函数(){

var dataString = "@C:\Ddrive\Workbench\deploy-zip\wb-uc1.zip";

var options = {
    url: 'https://abc-world.scm.azurewebsites.net/api/zipdeploy',
    method: 'POST',
    body: dataString,
    auth: {
        'user': 'user123',
        'pass': 'P@ssword'
    }
};

request.post(options, (response, error) => {
    if (error) {
        console.log("error");
    }
    else {
        console.log(response.body);
    }
})

}

执行时出现错误: ------>>> 很可能我认为无法在 选项 中适当地提供文件路径。有人可以帮忙吗?

有两点需要注意

1.You 应该传递 data-binary,你在代码中传递了路径字符串。

2.The responseerror 的顺序颠倒了。

请参考下面的工作代码

var request=require('request')
var fs = require("fs")

var dataString=fs.createReadStream("D:\testProject\NodeJs\nodejs-docs-hello-world\test4.zip");

var options = {
    url: 'https://tonytestwebnode.scm.azurewebsites.net/api/zipdeploy',
    method: 'POST',
    body: dataString,
    auth: {
        'user': 'tonytestweb',
        'pass': 'XXXX!'
    }
};

request.post(options, (error, response) => {
    console.log(response.statusCode);
})