Error: invalid json with multer and body-parser
Error: invalid json with multer and body-parser
我目前正在使用 multer for multipart/form-data
in node.js application alongside with 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/'}));
我想这可能是因为multer 没有工作。当我删除 body-parser 并重试时,它显示 console.log(req.body)
和 console.log(req.files)
.
为空 json
注:body-parser
版本为1.12.0,multer
版本为0.1.8。
问题不在于您同时拥有库 body-parser
和 multer
。如果您尝试 post 使用像 postman 这样的浏览器扩展,请确保 Content-Type
是 multipart/form-data
而不是 application/json
在您的请求中 header .
我目前正在使用 multer for multipart/form-data
in node.js application alongside with 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/'}));
我想这可能是因为multer 没有工作。当我删除 body-parser 并重试时,它显示 console.log(req.body)
和 console.log(req.files)
.
注:body-parser
版本为1.12.0,multer
版本为0.1.8。
问题不在于您同时拥有库 body-parser
和 multer
。如果您尝试 post 使用像 postman 这样的浏览器扩展,请确保 Content-Type
是 multipart/form-data
而不是 application/json
在您的请求中 header .