当我查询这个问题时,我发现了很多帖子,但它们都是关于如何将文件从浏览器上传到node.js服务器的。我想从node.js代码上载一个文件到另一个服务器。我试着基于我有限的node.js知识来写它,但是它不能工作。
function (data) {
var reqdata = 'file='+data;
var request = http.request({
host : HOST_NAME,
port : HOST_PORT,
path : PATH,
method : 'POST',
headers : {
'Content-Type' : 'multipart/form-data',
'Content-Length' : reqdata.length
}
}, function (response) {
var data = '';
response.on('data', function(chunk) {
data += chunk.toString();
});
response.on('end', function() {
console.log(data);
});
});
request.write(reqdata+'\r\n\r\n');
request.end();
})
上面的函数由其他生成数据的代码调用。
我尝试使用curl -F "file=@“上传相同的数据文件,上传成功。但是我的代码失败了。服务器返回特定于应用程序的错误,提示上传的文件无效/损坏。
我收集了tcpdump数据并在wireshark中对其进行了分析。从我的node.js代码发送的数据包缺少多部分数据所需的边界。我在wireshark数据包中看到此消息
The multipart dissector could not find the required boundary parameter.
你知道如何在node.js代码中实现这一点吗?
https://stackoverflow.com/questions/5744990
复制相似问题