使用ExpressJS上传文件

时间:2012-09-18 08:56:44

标签: javascript node.js express

我正在使用最新的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'});
};

1 个答案:

答案 0 :(得分:2)

尝试将表单编码更改为multipart/form-data,IIRC应设置为传输文件。