发布数据时出现超时错误
我正在尝试使用 node.js 和 mongodb 创建文件上传。
app.post('/photos/new', function(req, res) {
var photo = new Photo();
req.form.complete(function(err, fields, files) {
if(err) {
next(err);
} else {
ins = fs.createReadStream(files.file.path);
ous = fs.createWriteStream(__dirname + '/static/uploads/photos/' + files.file.filename);
util.pump(ins, ous, function(err) {
if(err) {
next(err);
} else { photos.save({
filename: files.file.filename,
file: files.file.path
}, function(error, docs) {
res.redirect('/photos');
});
}
});
//console.log('\nUploaded %s to %s', files.photo.filename, files.photo.path);
//res.send('Uploaded ' + files.photo.filename + ' to ' + files.photo.path);
}
});
});
我在发布数据时遇到超时错误。我使用的代码是:当我单击提交按钮时,出现以下错误。
错误:超时 POST /photos/new 在 Object._onTimeout (/home/nodeexmple/node_modules/connect-timeout/index.js:12:22) 在 Timer.ontimeout (timers_uv.js:84:39)
请帮忙。
js.I am trying to create a file upload using node.js and mongodb.I am getting timeout error in posting data.The code that i use is:
app.post('/photos/new', function(req, res) {
var photo = new Photo();
req.form.complete(function(err, fields, files) {
if(err) {
next(err);
} else {
ins = fs.createReadStream(files.file.path);
ous = fs.createWriteStream(__dirname + '/static/uploads/photos/' + files.file.filename);
util.pump(ins, ous, function(err) {
if(err) {
next(err);
} else { photos.save({
filename: files.file.filename,
file: files.file.path
}, function(error, docs) {
res.redirect('/photos');
});
}
});
//console.log('\nUploaded %s to %s', files.photo.filename, files.photo.path);
//res.send('Uploaded ' + files.photo.filename + ' to ' + files.photo.path);
}
});
});
I get the following error when i click on the submit button.
Error: Timeout POST /photos/new
at Object._onTimeout (/home/nodeexmple/node_modules/connect-timeout/index.js:12:22)
at Timer.ontimeout (timers_uv.js:84:39)
Please help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看到这个答案...
错误:解析器错误,0解析 4344 字节(Node.js)
您也可以按照 alessioalex 上面的建议使用 req.clearTimeout() 。
我相信你的这部分代码正在产生你应该避免的问题。
而是像这样使用:
然后像这样使用:
希望这可以解决您的问题。
see this answer...
Error: parser error, 0 of 4344 bytes parsed (Node.js)
Also u can use req.clearTimeout() as suggested above by alessioalex.
I belive this part of your code is creating problems that u should avoid.
Instead use like this:
And then something like this:
Hope this solves your issue.
您正在使用 connect-timeout 模块,以便在页面出现错误时向您的用户显示一条消息加载时间超过 X 秒(服务器端)。
很明显,上传页面可能需要更多时间,因此您应该在上传路线中清除超时,如下所示:
在其 github 页面。
You are using the connect-timeout module so that is shows a message to your users in case the page takes more than X seconds to load (server-side).
It's obvious that the upload page might be taking more than that, so what you should do in your upload route is to clear the timeout like this:
Read more about connect-timeout on its github page.