我是node.js的新手。我创建了一个接受post请求的node.js服务器。 我正在使用phonegap android应用程序在本地服务器上发送图像。
错误:错误:MultipartParser.end():流意外结束:state = START
代码片段如下所示。
我的form.on('end' ...
没有被调用,我的图像没有上传到服务器
app.post('/upload', function(req, res) {
console.log("Upload Code Hit!")
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
console.log("Upload Code Hit2222!")
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
console.log(" form. parse ends ")
});
console.log("33333!")
form.on('end', function(fields, files) {
console.log(" form.in(end) hit ")
/* Temporary location of our uploaded file */
var temp_path = this.openedFiles[0].path;
/* The file name of the uploaded file */
var file_name=this.openedFiles[0].name;
/* Location where we want to copy the uploaded file */
var new_location = './uploadedFOlder/';
fs.copy(temp_path, new_location + file_name, function(err) {
if (err) {
console.error(err);
} else {
console.log("success!")
}
});
});
console.log("88888")
return;
});
我在屏幕上看到了
Upload Code Hit!
33333!
88888
Upload Code Hit2222!
form. parse ends
即我没有得到日志
console.log(" form.in(end) hit ")
这给我的印象是结束事件没有被解雇。不过我已经等了30分钟了。图像由相机以低质量拍摄。我正在使用phonegap android应用程序在本地服务器上发送图像&所以我相信甚至30 in in local server太多了。
我缺少什么?
EDIT1:
我添加了一个代码
form.on('error', function(err) {
console.log('ERROR!'+ err);
res.end();
});
并显示
ERROR!Error: MultipartParser.end(): stream ended unexpectedly: state = START
有人可以帮助我,我做错了吗?