【问题标题】:413 payload too large, for base64 string after adjusting size in express413 有效载荷太大,在 express 中调整大小后用于 base64 字符串
【发布时间】:2019-02-15 20:54:04
【问题描述】:

我已尝试使用 base64 编码文件向我的节点服务器发出 post 请求。

我得到一个 PayloadTooLargeError: request entity too large 异常,所以我按照 Express 4 约定扩展了有效负载限制

app.use(bodyParser.json({limit: '100mb'}));
app.use(bodyParser.urlencoded({limit: '100mb', extended: true}));

但是问题仍然存在,谁能帮我解释为什么?

这是我的全局变量

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false}))
app.use(bodyParser.json({limit: '100mb'}));
app.use(bodyParser.urlencoded({limit: '100mb', extended: true}));

【问题讨论】:

  • 你能分享一个包含字符串的 pastebin 链接吗?
  • 对于 pastebin 来说太大了
  • 有几个问题突出,base64字符串肯定在100MB以下? bodyParser 限制是否区分大小写? 100 兆b远小于 100 兆Bytes
  • 根据您收到的错误消息的类型,它可能是您堆栈的另一部分:stackoverflow.com/questions/19917401/…

标签: javascript node.js express


【解决方案1】:

这对我有用,除了为 bodyparser 设置“限制”之外,还设置了“类型”

var app = express(); 
var jsonParser = bodyParser.json({limit:1024*1024*10, type:'application/json'}); 
var urlencodedParser = bodyParser.urlencoded({ extended:true,limit:1024*1024*10,type:'application/x-www-form-urlencoded' });
app.use(jsonParser);
app.use(urlencodedParser);

【讨论】:

    猜你喜欢
    • 2020-07-11
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    • 2018-04-23
    • 2012-08-03
    • 1970-01-01
    • 2019-07-20
    相关资源
    最近更新 更多