【前端笔记】网络请求问题:413 request entity too large

场景:上传图片给服务端,将图片转为BASE64字符串,通过http请求上送json数据方式实现图片上传,接口报错:“请求报文实体过大”
分析:
1,图片转换为BASE64字符串,大小会增加约30%(基本原理:3字节一组转换为4字节一组)
2,http请求JSON报文大小一般建议不超过200kb,否则加解密过程会很慢
3,服务器、网关等一般都会限制报文大小,比如Nginx默认限制报文大小为1M,超过这个大小就会报上面这个错
解决方法:
1,上传文件更适合采用文件流的方式,几十kb以内的小图片可以转为BASE64字符串通过JSON方式上传。【推荐文件流方式上传文件】
2,找运维修改服务器/网关配置,比如Nginx配置,将报文大小限制提高到比如50M:打开nginx.conf,在http{ }中设置:client_max_body_size 50m
不推荐这种做法,因为可能会引发别的问题,比如Nginx缓存区撑爆、接口超时、浏览器对大报文请求的拦截等问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值