Javascript 如何发送带有请求承诺的表格?

Javascript 如何发送带有请求承诺的表格?,javascript,node.js,promise,Javascript,Node.js,Promise,我正在尝试使用RequestPromise库或任何类似的工具,通过post请求将文件从节点发送到运行该节点的另一台机器。使用普通的请求模块,我可以 var req = request.post(url, function (err, resp, body) { if (err) { console.log('Error!'); } else { console.log('URL: ' + body); } }); var form = req.form(); form.

我正在尝试使用RequestPromise库或任何类似的工具,通过post请求将文件从节点发送到运行该节点的另一台机器。使用普通的请求模块,我可以

var req = request.post(url, function (err, resp, body) {
 if (err) {
    console.log('Error!');
  } else {
    console.log('URL: ' + body);
  }
});
var form = req.form();
form.append('file', '<FILE_DATA>', {
  filename: 'myfile.txt',
  contentType: 'text/plain'
});
var req=request.post(url、函数(err、resp、body){
如果(错误){
console.log('Error!');
}否则{
log('URL:'+body);
}
});
var form=req.form();
append('文件',''{
文件名:“myfile.txt”,
contentType:“文本/普通”
});
此代码来自以下问题: 然而,它没有使用承诺

有人能解释一下如何使用request-promise库做同样的事情吗?或者如果有其他方法可以做到这一点吗?

根据您已经找到的答案中的链接,您不需要对生成的request对象使用
.form()
方法,但只需将表单作为
formData
选项传递给
请求
。您将能够对请求承诺执行同样的操作:

requestPromise.post({url: url, formData: {
    file: {
        value: '<FILE_DATA>',
        options: {
            filename: 'myfile.txt',
            contentType: 'text/plain'
        }
    }
}).then(function(body) {
    console.log('URL: ' + body);
}, function(err) {
    console.log('Error!');
});

您希望
req
返回承诺?使用
promise
的目的是什么?我确实尝试过,但最终出现了一个错误:未处理的拒绝请求错误:错误:在结束后写入哪一个?它是否适用于未承诺的
请求
?还有:这就是你使用的代码吗?
文件数据从哪里来?我发布的代码永远不会产生未经处理的拒绝。我已设置data let formData={id:request.\u id.toString(),文件:{value:fs.createReadStream(request.filePath),选项:{'filename':request.filename,'contentType':request.mineType}};但无法在另一台服务器中获取该文件req.files正在获取undefine@LaxmanMali您可能希望将两台服务器的全部代码发布到哪里
var req = requestPromise.post(url);
var form = req.form();
form.append('file', '<FILE_DATA>', {
  filename: 'myfile.txt',
  contentType: 'text/plain'
});
req.then(function(body) {
    console.log('URL: ' + body);
}, function(err) {
    console.log('Error!');
});