我目前在node.js应用程序中使用multer multipart/form-data
以及body-parser。
我尝试使用POSTMAN POST 表单数据,但是收到此错误。
Error: invalid json
at parse (/Users/k/Documents/application/node_modules/body-parser/lib/types/json.js:79:15)
at /Users/k/Documents/application/node_modules/body-parser/lib/read.js:102:18
at IncomingMessage.onEnd (/Users/k/Documents/application/node_modules/body-parser/node_modules/raw-body/index.js:136:7)
at IncomingMessage.g (events.js:199:16)
at IncomingMessage.emit (events.js:104:17)
at _stream_readable.js:908:16
at process._tickDomainCallback (node.js:381:11)
这是我在server.js
中添加multer和body-parser的方法var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var multer = require('multer');
var app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(multer({ dest: './uploads/'}));
我认为这可能是因为闷闷不乐。当我删除body-parser并再次尝试时,它会显示console.log(req.body)
和console.log(req.files)
的空json。
注意:body-parser
版本 1.12.0 且multer
版本 0.1.8 。
答案 0 :(得分:17)
问题不在于你有两个库body-parser
和multer
。如果您尝试使用邮递员等浏览器扩展程序进行发布,请确保Content-Type
中的multipart/form-data
而不是application/json
。