适用于多部分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),这是一个完全不同的格式。 如果你删除这个覆盖,应该没问题。