使用enctype设置在mongodb中保存数据时遇到问题

时间:2011-11-16 05:34:46

标签: mongodb node.js express mongoose

嗨,我有一个类似下面给出的表格

<form action='/posts', method ='post',enctype='form-data'> 
    <div>
      <span>FileName :</span>
      <input type="text" name="filename" id="filename" />
    </div>
    <div>
      <span>File :</span>
      <input type="file" name="file" id="file" />
    </div>
    <div>
      <span>Submit :</span>
      <input type="submit" name="Submit" value ='Submit' id="editSubmit" />
    </div>
</form>

和mongodb中保存的相应方法是:

app.post('/posts', function(req, res) {
  RegProvider.save({
           filename: req.param('filename'),
                   file: req.param('file')
                 }, function(error, docs) {
              res.redirect('/');
         }); 
});

当我删除ejs文件中的enctype时一切正常并且数据存储在mongodb中。但是当我在ejs文件中放入enctype时,没有任何东西存储在monogdb.Infact当尝试检索数据时我得到未定义的值来自fiels的文件名和文件。是否可以在数据库中使用enctype并存储数据。如果可以实现这一点。

1 个答案:

答案 0 :(得分:1)

您可能意味着multipart/form-data编码?

据我所知,您必须将请求解析为多部分消息。有Node.js插件:Multipart-js