适用于多部分Nodej的Bodyparser

在这里输入图像说明 在这里输入图像说明 所以我想从我的肢体语法分析器开始,并且我正在使用'multer'

我的多种select:

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的身体parsing器

 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就是这样

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

控制台日志输出:

大段引用

{“—— WebKitFormBoundaryGS8GEzQls8xRP6nt \ r \ nContent-Disposition:form-data; name”:“\”_id \“\ r \ n \ r \ n58a4735cfa328b7e9eaf6a3a \ r \ n —— WebKitFormBoundaryGS8GEzQls8xRP6nt \ r \ nContent-Disposition:form-data; name = \“city \”\ r \ n \ r \ nKayseri \ r \ n —— WebKitFormBoundaryGS8GEzQls8xRP6nt \ r \ nContent-Disposition:form-data; name = \“ name \“\ r \ n \ r \ nali \ r \ n —— WebKitFormBoundaryGS8GEzQls8xRP6nt \ r \ nContent-Disposition:form-data; name = \”\“\ r \ n \ r \ n \ r \ ñ—— WebKitFormBoundaryGS8GEzQls8xRP6nt – \ r \ n“}

我该如何parsing这个req.body?

问题是你正在发送一个multipart / form-data请求, 但是你重写了Content-Type并把它设置为一个不同的types(application / x-www-form-urlencoded),这是一个完全不同的格式。 如果你删除这个覆盖,应该没问题。