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

时间:2016-06-14 13:28:40

标签: javascript node.js promise

我正在尝试使用请求承诺库或任何类似的东西通过从节点发送到另一台运行Node的计算机的发送请求来发送文件。使用正常的请求模块,我可以这样像

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'
});

此代码来自以下问题: Uploading file using POST request in Node.js然而它没有使用承诺。

任何人都可以解释如何使用请求承诺库执行相同的操作,或者是否有其他方法可以宣传此内容?

1 个答案:

答案 0 :(得分:6)

根据您已找到的答案链接的the docs,您不需要在生成的请求对象上使用.form()方法,但只需将表单作为{{ 1}} formData的选项。您将能够对请求承诺执行相同的操作:

request

或者,请求承诺似乎仍然返回请求实例(仅使用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!'); }); / then / catch方法修饰),因此promise函数仍应可用:

form