1.使用的是layui的图片上传,限制图片上传时的最大是5M。
2.上传图片时,选择了一张大小和占用空间都是5M的图片
正常的图片或者文件的 大小和占用空间是不一样的,大小一般都会比占用空间小。
下面是不正常的图片
下面是正常的图片
4.出现的问题:
上传正常的图片,能够上传成功。
上传不正常的图片,提示 接口请求异常,但是后端并没有接收到这个请求。
1.使用的是layui的图片上传,限制图片上传时的最大是5M。
2.上传图片时,选择了一张大小和占用空间都是5M的图片
正常的图片或者文件的 大小和占用空间是不一样的,大小一般都会比占用空间小。
下面是不正常的图片
下面是正常的图片
4.出现的问题:
上传正常的图片,能够上传成功。
上传不正常的图片,提示 接口请求异常,但是后端并没有接收到这个请求。
你没有说你的后端架构和配置,那就猜测下.
你搞了一张刚好 5MB 的图片上传是失败(你也没说状态码是啥).但是稍小于 5MB 的是上传成功的.
假设你后端用了 nginx + php 做服务.那么一般和上传相关的,nginx 有 client_max_body_size
, PHP 有 post_max_size
和 upload_max_filesize
但是请注意, nginx 的 client_max_body_size
和 php 的 post_max_size
这个都是限制的请求体的大小,而你上传图片的时候,一般使用 multipart/form-data
,然后 request-body
里图片前后会使用 boundary
加上一个随机 id 来做分割,实际上,你的请求的 content-length
是比你的图片本身更大一些的. 如果你的配置是我说的这样做的,那么你客户端上传一个正好5M的图片,算上header,在请求到达 nginx 这块,nginx 就发现超出限制了,就直接返回 413 错误,不往 php 转发了. post_max_size
也一样,upload_max_filesize
不太确定,但是应该不一样.
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
不要看这个,上传过后的 file对象里 应该有返回的图片大小信息的,用那个去对比下这两个图片的大小是不是超出了你得限制。