错误:使用multer和body-parser无效的json

Kha*_*hay 10 json form-data node.js multer body-parser

我目前正在使用multer用于multipart/form-data在Node.js应用程式与旁边身体解析器.

我想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)
Run Code Online (Sandbox Code Playgroud)

这就是我在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/'}));
Run Code Online (Sandbox Code Playgroud)

我想这可能是因为闷闷不乐.当我删除body-parser并再次尝试时,它会显示空的json for console.log(req.body)console.log(req.files).

注意:body-parser版本是1.12.0,multer版本是0.1.8.

Ark*_*ung 17

问题不在于你有两个库body-parsermulter.如果您尝试发布了浏览器扩展一样的邮递员,请确保Content-Typemultipart/form-data,而不是application/json在你的请求头.

  • 如何用application/json实现它? (3认同)