ZUUL 文件上传限制
框架: zuul+springcolud +springboot2.0
笔者踩过的坑,其实zuul,nginx对文件上传都有限制,详情:
https://blog.csdn.net/cuiyuguang0001/article/details/90757233
不多说,贴代码,希望帮助到其他开发的朋友:
Springboot2.0 yml:
spring:
application:
name: p2-invoker-spot
cloud:
config:
discovery:
enabled: true
service-id: P2-CONFIG
servlet:
multipart:
max-file-size: 20MB
max-request-size: 20MB
enabled: true
eureka:
client:
serviceUrl:
defaultZone: http://localhost:11001/eureka/
feign:
hystrix:
enabled: false
compression:
request:
enabled: false
mime-types:
- text/xml
- application/xml
- application/json
min-request-size: 2048
测试结果:
{
“timestamp”: 1585230654049,
“status”: 500,
“error”: “Internal Server Error”,
“message”: “io.undertow.server.handlers.form.MultiPartParserDefinition$FileTooLargeException: UT000054: The maximum size 1048576 for an individual file in a multipart request was exceeded”,
“path”: “/spot/common/uploadImage”
}
这里为什么springboot2.0 配置了之后还是无法上传10M以上的文件呢?
关键在于经过zuul的时候也被限制,解决办法:
1、将zuul的配置文件配置:
servlet:
multipart:
max-file-size: 20MB
max-request-size: 20MB
enabled: true
2、绕过zuul的校验,上传地址前面加上zuul/**
http://127.0.0.1:12001/zuul/spot/common/uploadImage
修改后测试结果:{
“data”: {
“extension”: “jpg”,
“fileName”: “微信图片_20200326170459.jpg”,
“fileSize”: 3990052,
“fileSizeStr”: “3.8MB”,
“fileUrl”: “http://...😗***/group1/M00/00/69/wKhk-l5-G5KAeYCOADziJGTTEE8388.jpg”,
“errorMsg”: null,
“thumbImageUrl”: null
},
“handleKey”: null,
“retcode”: 1,
“retmsg”: “操作成功”
}