【问题标题】:Error: invalid json with multer and body-parser错误:使用 multer 和 body-parser 的 json 无效
【发布时间】:2015-05-14 09:31:15
【问题描述】:

我目前在 node.js 应用程序中将multer 与body-parser 一起用于multipart/form-data。

我尝试使用 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。

【问题讨论】:

    标签: json node.js form-data body-parser multer


    【解决方案1】:

    问题不在于您同时拥有库body-parser 和multer。如果您尝试使用 postman 之类的浏览器扩展程序发帖,请确保您的请求标头中的 Content-Type 是 multipart/form-data 而不是 application/json。

    【讨论】:

    • 使用“multipart/form-data”
    • 如何用 application/json 实现?
    猜你喜欢
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 2016-07-12
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多