【发布时间】:2015-04-28 17:31:03
【问题描述】:
我对节点很陌生。最近三天我一直在谷歌搜索。我在这里阅读了回复并尝试了解决方案(当我理解它们时) 而且我找不到/不明白我的错误在哪里。我有最新版本的 node/express 和所有模块,最近几天安装(2015 年 4 月) 我有一个简单的表单(使用 getuikit 的 css)
extends layout
block content
<br>
.uk-container
form.uk-form-file(enctype="multipart/form-data")
input.uk-hidden#what_to_do(type="text", name="what_to_do", value="load_files_disk")
button.uk-button Select a file
input#upload-select-phys(type="file")
br
if sessionFlash && sessionFlash.message
div(class=sessionFlash.type)
p <strong>FLASH!</strong> #{ sessionFlash.message }`
我的 routes.js 有 get 和 post:
router.post('/load_files_disk',function(req, res) {
var fstream;
req.pipe(req.busboy);
req.busboy.on('field', function(fieldname, val) {
console.log('Field [' + fieldname + ']: value: ' + inspect(val));
}); // nothing, doesnot come here
req.busboy.on('file', function (fieldname, file, filename) {
fstream = fs.createWriteStream(__dirname + '/../temp_files/' + filename);
file.pipe(fstream);
fstream.on('close', function () {
});
});
req.busboy.on('finish', function() {
req.flash('success', 'This is a flash message');
console.log('FLASH:' + req.flash('success')); // yes message OK
res.redirect(303,'back');
});
});
router.get('/load_file', function(req, res) {
var d = new Date();
console.log('date is + ', d.toUTCString());
console.log('FLASH2:' + req.flash('success')); // nothing!
res.render('load_file', { user: req.user, sessionFlash: req.flash('success') });
});
我可以毫无问题地加载文件,但我从来没有看到这些字段,控制台上没有写任何东西,就像它甚至没有输入那部分代码一样。 怎么了 ? 如您所见,我还想发送一条 flash 消息(它在我的代码的其他部分没有文件),但 req.flash 没有通过。我不知道两者是否连接。 提前感谢您提供的任何提示 - 拍拍
【问题讨论】: