使用带有包含文件的formData的“request”(客户端)

时间:2015-04-14 00:37:19

标签: node.js request xmlhttprequest client-side multipartform-data

我正在尝试从包含文件对象的客户端表单上传表单数据,但使用request - https://github.com/request/request#forms

时遇到问题

这会引发异常(因为文件对象):

var request = require('request');
var myData = {
    a_key: 'a value!',
    a_file: fileInputElement.files[0]
}
request.post({url: 'http://foo.com/upload', formData: myData});

这提交了一个空请求:

var formData = new FormData();

formData.append('a_key', 'a value!');
formData.append('a_file', fileInputElement.files[0]);

request.post({url: 'http://foo.com/upload', formData: formData});

当我不使用request时,我能够让它正常工作,而不是详细地说:

var formData = new FormData();

formData.append('a_key', 'a value!');
formData.append('a_file', fileInputElement.files[0]);

var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://foo.com/upload');
xhr.send(formData);

https://github.com/request/request#forms仅包含使用fs.createReadStream的示例,您无法对客户端代码执行此操作。

这仅仅是request模块的限制吗?任何帮助将不胜感激!

0 个答案:

没有答案