使用多方和请求模块进行stream式传输时出现“错误:套接字挂断”

这里是代码:

var app = require("express")(); var multiparty = require("multiparty"); var request = require("request"); var ims = require("imagemagick-stream"); var fs = require("fs"); var Busboy = require('busboy'); app.post('/submit', function(httpRequest, httpResponse, next){ var form = new multiparty.Form(); form.on("part", function(part){ if(part.filename) { var formData = { thumbnail: { value: part, options: { filename: part.filename, contentType: part["content-type"] } } }; request.post({url:'http://localhost:7070/store', formData: formData}, function (err, httpResponse, body) { if(err) { return console.error('upload failed:', err); } console.log('Upload successful! Server responded with:'); }); } }) form.on("error", function(error){ console.log(error); }) form.parse(httpRequest); }); app.get('/', function(httpRequest, httpResponse, next){ httpResponse.send('<form action="http://localhost:9090/submit" method="post" enctype="multipart/form-data"><input type="file" name="file" /><input type="submit" value="xxx" /></form>'); }); app.listen(9090); 

在这里,我将用户提交的file upload到另一台服务器,而不保存在磁盘上。

我得到错误upload failed: { [Error: socket hang up] code: 'ECONNRESET' }

而在端口7070运行的服务器上,我得到错误Error: stream ended unexpectedly

如果我把part value:partreplace为文件系统可读的value:part ,那么它工作正常。

我认为它缺less的内容长度标题。 但是当我添加它,我得到一个不同的错误。

提前致谢。