当enctype =“multipart / form-data”(Nodejs)时,无法读取玉表单字段

时间:2014-06-09 18:15:09

标签: javascript node.js forms express multipart

我正在使用Nodejs + express并且我有一个表单,我需要它上传和图像和其他数据,但问题是当表单有enctype =“multipart / form-data”我无法读取文本字段,我不知道如何解密它包含的数据,因为我通常使用:

MYPROJECT.post("/example",function(req,res){
   var name = req.body.name; // or res.param('name')
   console.log(name) // And it works without enctype="multipart/form-data" in form, when it has enctype="multipart/form-data returns undefined 
});

1 个答案:

答案 0 :(得分:0)

1当你提问时,把代码示例,这样就很容易理解了。  据我所知,当您使用文件类型发布一些数据时,您需要使用“multer”或任何类型的软件包。使用示例jada和js文件检查下面的代码示例,

form(method='post' , action='/users/register',enctype='multipart/form-data')
    .form-group
        label Name
        input.form-control(type='text',name='name', value='' ,placeholder='Enter the Name')
    .form-group
        label Email
        input.form-control(type='email',name='email', placeholder='Enter the Email')
    .form-group
        label Password
        input.form-control(type='password',name='password', placeholder='Enter the Password')
    .form-group
        label Profile Image
        input.form-control(type='file',name='profileimage')
    input.btn.btn-default(name='submit' type='submit',value='Register')

var express = require('express');
var router = express.Router();
var multer = require('multer');
var upload = multer({ dest: 'uploads/' })
router.post('/register',upload.single('avatar'),function(req,res,next){
  //your code
});