【发布时间】:2012-01-03 20:23:30
【问题描述】:
我正在尝试使用上传程序来上传我的文件。我使用的代码是
app.post('/photos',loadUser, function(req, res) {
var post = new Post();
req.form.complete(function(err, fields, files) {
if(err) {
console.log(err);
next(err);
} else {
ins = fs.createReadStream(files.file.path);
ous = fs.createWriteStream(__dirname + '/public/uploads/photos/' + files.file.filename);
post.filename=files.file.filename;
post.file=files.file.path;
util.pump(ins, ous, function(err) {
if(err) {
next(err);
} else {
post.save(function(err,docs) {
req.flash('info', 'information Saved');
res.redirect('/photos');
});
}
});
}
});
});
当我删除 loadUser 方法时,一切正常,但是当我使用 loadUser 方法时,它给了我一个错误。报错的控制台信息为:
Error: parser error, 0 of 4344 bytes parsed
at IncomingForm.write (/home/darhamid/node_modules/formidable/lib/incoming_form.js:141:17)
at IncomingMessage.<anonymous> (/home/darhamid/node_modules/formidable/lib/incoming_form.js:91:12)
at IncomingMessage.emit (events.js:67:17)
at HTTPParser.onBody (http.js:121:23)
at Socket.ondata (http.js:1349:22)
at TCP.onread (net_uv.js:312:27)
该错误仅在我使用 loadUser 功能时引起,如果我删除 loadUser 功能一切正常。 我不知道这背后的原因并且被卡住了。谁能帮帮我?
【问题讨论】:
标签: javascript node.js mongodb express mongoose