1、后台是springboot,post接收文件,开发的时候一直没问题,上到服务器就是不能上传。
前端使用了layui框架,上传文件时,如果发现不支持post类型,请求头allow:get,经分析测试,后台是没问题的,那就是前端的问题了
当时解决思路:
(1)、检查后台控制层方法声明,发现没问题一切正常
(2)、检查yml或者properties配置文件是否限制了文件上传大小,发现没问题,一切正常
(3)、换浏览器尝试、发现都一样,不是浏览器问题
(4)、在服务器上不行、吧服务器上的代码全部拉到本地运行,发现可以上传。
只有服务器不行,就很纳闷了,在骂服务器无数遍后,灵光一闪,才想到是不是web代码问题。
检查上传出错的地方,和以前写的上传的代码,发现一模一样,就是本次不行,又骂了无数遍后,想着试试指定请求为PORT,接下来就又是无数的卧槽无数的他妈的,解决完成,手动指定上传时指定格式POST
layui自己封装的上传文件接口,本以为没问题,偏偏就是这里出错了,需要手动指定一下请求方式:method:'post',废了一天的惨痛教训
2、微信小程序上传文件出错
和第一次差不多,上传不支持post,本来是正常的,更新后就突然。。。
发送get请求是正常的、就是post不行。这次直接手动指定post,发现没效果,异常提示还是一模一样,服务端没有反应
vpn连接超时(因为是客户的生产环境,需要接入他们内网),vpn自动断开突然小程序就开始转圈圈,开始上传,卧槽??
断开vpn上传,发现可以上传了,这下看日志直接定位异常
异常信息:
org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException:The field file exceeds its maximum permitted size of 1048576 bytes.
文件大小超出了tomcat默认大小,改呗,注意yml不要配置错误,spring里面的配置
spring: datasource: ... servlet: multipart: max-file-size: 30MB max-request-size: 30MB
一下为另一种,错的。。。不过,存在即合理,这两行有啥用后续在研究吧
server: port: 9000 servlet: multipart: max-file-size: 30Mb max-request-size: 30Mb