解除 axios Request Body 大小限制

栏目: JavaScript · 发布时间: 8年前

内容简介:之前经常有用户反馈我们做的系统中,在上传过程中会遇到最初以为是服务端发出的 error,因为默认使用的后来翻了翻 PR,发现这个问题在很久之前就有人提出了:

之前经常有用户反馈我们做的系统中,在上传过程中会遇到 Request body larger than maxBodyLength limit ,其实这个问题之前已经存在了很久,但是一直没去动。

最初以为是服务端发出的 error,因为默认使用的 koa-body 在旧版本也有上传内容的大小限制,但是后来调试过程中发现请求根本没发出去——

后来翻了翻 PR,发现这个问题在很久之前就有人提出了: https://github.com/axios/axios/issues/1362 。解决方案是设置一个更大的 maxContentLength ,这里我们直接不对客户端进行限制,把控制上传大小的事情完全交由服务端:

maxContentLength: Infinity

另外,axios 默认不会对 301 进行处理,需要自行设置(为了避免循环重定向,请不要向 maxContentLength 一样骚设置):

maxRedirects: 5

有人可能会吐槽 axios 辣鸡,实际上很多上传库都在客户端做了一些上传的限制,或者 form-data 库对服务端上传做了一些限制,这是为了避免不受限制导致服务器被刷雪崩的情况所做的防御操作,换言之,不要因为有这个 feature 就觉得非常麻烦,实际上从 Nignx 层到后端都会有默认限制,我们的处理应该是根据需求去调整,而不是一口气全部取消了,而寄期望于「别人家的服务」。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

How to Design Programs, 2nd Edition

How to Design Programs, 2nd Edition

Matthias Felleisen、Robert Bruce Findler、Matthew Flatt、Shriram Krishnamurthi / MIT Press / 2018-5-4 / USD 57.00

A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This ......一起来看看 《How to Design Programs, 2nd Edition》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换