gpt4 book ai didi

node.js - 为什么 bodyparser.json 正在解析 multipart/formdata?

转载 作者:搜寻专家 更新时间:2023-10-31 22:57:12 25 4
gpt4 key购买 nike

我正在尝试使用 multer 中间件解析 multipart/from-data。这是我的发帖请求:

POST /api/files HTTP/1.1
Host: localhost:3000
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Cache-Control: no-cache
Postman-Token: f55caef0-1d59-fe80-f6ae-00e38fcbc92a

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="guia1"; filename="guia_1_MC_2012_2c.pdf"
Content-Type: application/pdf

----WebKitFormBoundary7MA4YWxkTrZu0gW

这是我的 app.js 代码:

var express    = require('express');        
var app = express();
var bodyParser = require('body-parser');
var validator = require('express-validator');
var multer = require('multer');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(multer({ dest: './files/'}));
app.use(validator());

当我这样做时,出现以下错误(现已更新):

Error: invalid json 
at parse (.../node_modules/body-parser/lib/types/json.js:72:15)
at .../node_modules/body-parser/lib/read.js:98:18
at IncomingMessage.onEnd (.../node_modules/body-parser/node_modules/raw-body/index.js:136:7)
at IncomingMessage.g (events.js:180:16)
at IncomingMessage.EventEmitter.emit (events.js:92:17)
at _stream_readable.js:920:16
at process._tickCallback (node.js:415:13)

所以看起来 bodyParser.json() 在不应该解析数据的时候解析了数据。

最佳答案

刚刚发现 body-parser 工作正常!!问题是 postman 在提交 multipart/form-data 时将内容类型设置为 application/json,默认情况下还隐藏了 Header。谢谢洛根神话!!

关于node.js - 为什么 bodyparser.json 正在解析 multipart/formdata?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27282904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com