使用请求模块发布json文件

使用请求模块发布json文件,json,node.js,curl,npm-request,Json,Node.js,Curl,Npm Request,我计划将下面的curlAPI调用转换为node.js,尽管我在执行POST时仍然收到错误 curl -X POST --user user1@customer1:secret http://demo.test.com/controller/actions/38 -F file=@ExportActions.json 下面是使用request-npm模块的初始代码,但API调用仍然失败 var requestdata = fs.readFileSync('./ExportActions.jso

我计划将下面的
curl
API调用转换为
node.js
,尽管我在执行POST时仍然收到
错误

curl  -X POST --user user1@customer1:secret http://demo.test.com/controller/actions/38 -F file=@ExportActions.json
下面是使用request-npm模块的初始代码,但API调用仍然失败

var requestdata = fs.readFileSync('./ExportActions.json').toString();

var request = require('request');
request.post({
     url: 'https://demo.test.com/controller/actions/38',
     auth: {
        'user': 'user1@customer1',
        'pass': 'secret'
    },
    body: requestdata
}, function(error, response, body){
   console.log(body);
});
每次运行脚本时,我都会遇到以下错误:

Could not import Actions: org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found
使用
npm请求
模块发布JSON文件时,是否有任何解决方法


谢谢

您可以使用Postman客户端来检查此api,而不是curl

您正试图通过将文件发布到正文来上载到文件。看起来服务器需要多部分上传。这可能会更好

var req = require('request');
request.post({
   url: 'https://demo.test.com/controller/actions/38',
   auth: {
      'user': 'user1@customer1',
      'pass': 'secret'
  },
}, function(error, response, body){
     console.log(body);
});

var form = req.form()
form.append('file', fs.readFileSync('./ExportActions.json'));

正文
未定义。对吗?不过,
API
调用仍然失败。很抱歉,不应该在喝咖啡之前发布内容。不,你不需要送尸体-我是想把它移走的。我编辑了答案。