多部分Nodejs的Bodyparser

时间:2017-02-15 22:00:35

标签: node.js middleware body-parser

enter image description here enter image description here所以我想从我的身体解析器开始,并且我也在使用' multer'

我的傻瓜选项:

var multer = require('multer');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
    cb(null, '/root/Unicon-Oauth/Resources/profile_images/')
},
filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
}
});

var pfImage = multer({storage:storage});

server.js上的Body Parsers

app.use(bodyParser.urlencoded({extended:true,limit: '20MB',parameterLimit:10000}));
app.use(bodyParser.json());

我有这样的路线

router.post('/edit',[auth.isAuthenticated,pfImage.single('pImage')],actions.edit);

功能就像那样

function edit(req,res)
{
  console.log(req.body);
}

控制台日志输出:

  

块引用

     

{" ------ WebKitFormBoundaryGS8GEzQls8xRP6nt \ r \ nConContent-Disposition:form-data; name":" \" _id \" \ r \ n \ r \ n58a4735cfa328b7e9eaf6a3a \ r \ n ------ WebKitFormBoundaryGS8GEzQls8xRP6nt \ r \ nConContent-Disposition:form-data; name = \" city \" \ r \ n \ r \ nKayseri \ r \ n ------ WebKitFormBoundaryGS8GEzQls8xRP6nt \ r \ nConContent-Disposition:form-data; name = \" name \" \ r \ n \ r \ n \ n \ n \ r \ n ------ WebKitFormBoundaryGS8GEzQls8xRP6nt \ r \ nConContent-Disposition:form-data;命名= \" \" \ r \ n \ r \ n \ r \ n ------ WebKitFormBoundaryGS8GEzQls8xRP6nt - \ r \ n"}

如何将其解析为req.body?

1 个答案:

答案 0 :(得分:2)

问题是您发送的是多部分/表单数据请求,但是您正在覆盖Content-Type并将其设置为不同的类型(应用程序) / x-www-form-urlencoded),这是一种完全不同的格式。如果删除此覆盖,则应该没问题。