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