You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Post请求携带Base64头像触发413 PayloadTooLargeError问题求助

解决PayloadTooLargeError: request entity too large问题

这个错误和CORS无关,核心原因是包含Base64头像的请求体大小超出了服务器端的默认限制,调整请求体解析中间件的配置就能解决。

针对Express框架的具体解决步骤:

  • 如果你用的是Express 4.16及以上版本,框架内置了请求体解析能力,无需单独安装bodyParser,直接在配置中间件时指定limit参数:
    const express = require('express');
    const app = express();
    
    // 设置JSON请求体的最大限制,示例为10MB,可根据实际需求调整
    app.use(express.json({ limit: '10mb' }));
    // 若请求是urlencoded格式,同步调整对应限制
    app.use(express.urlencoded({ limit: '10mb', extended: true }));
    
  • 如果你仍在使用独立的bodyParser包,同样通过limit参数调整:
    const bodyParser = require('body-parser');
    app.use(bodyParser.json({ limit: '10mb' }));
    app.use(bodyParser.urlencoded({ limit: '10mb', extended: true }));
    

额外注意事项:

  • Base64格式的文件体积会比原文件大30%左右,所以limit的值要根据你允许的最大头像尺寸预留余量,比如允许5MB的原图,设置7-8MB的限制即可。
  • 如果你的服务前端有Nginx这类反向代理,也要同步调整代理的请求体限制,比如在Nginx配置中添加:
    server {
      client_max_body_size 10M;
      # 其他原有配置...
    }
    
  • 确认前端请求的Content-Type与后端配置匹配:如果是把Base64放在JSON里传,就用application/json;如果是form-data格式,后端要对应配置multipart解析中间件(比如multer)。

内容的提问来源于stack exchange,提问作者Ibrahim Yahyaoui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 12:35:19