我正在使用最新的NodeJS和ExpressJS来编写一个小应用程序。目前我坚持上传文件。产品:>
路由以这种方式配置
app.get('/Share', share.index);
app.post('/Share/Process', share.processFile);
索引视图如下所示
form.form-horizontal(action='/Share/Process', method='post')
legend share a file
div.control-group
label.control-label(for='item[actual]') File
div.controls
input(type='file', name='item[actual]', required='required')
当我遵循ExpressJS API文档时,我应该使用 req.files 来访问该文件,这在share.processFile方法中是未定义的
exports.processFile = function(req,res){
console.log(req.files); // undefined
console.log(req.body.item.actual); // filename as string
res.render('share/success', {navigation: { shareClass : 'active'}, downloadKey: 'foo'});
};
答案 0 :(得分:2)
尝试将表单编码更改为multipart/form-data
,IIRC应设置为传输文件。