出现的问题:
在虚拟机安装了FastDFS,并与nginx进行了整合,后台上传的代码也写好了,在上传图片时浏览器的请求总是发不出去
控制台的提示:
我以为是跨域问题,尽管知道在网关微服务那里已经写了一个配置类GlobalCorsConfig来处理从http://manage.leyou.com的跨域,拦截一切请求,没理由再写一遍啊
没办法,再写一遍试试,果然没效果,通过debug也发现Config类明显写重了,说明此配置类只需要在网关处写就行。
我虎的试了一遍又一遍,最后才发现,我为什么老是试同一张图片呢,试试别的吧,找了一张小的图片才发现,请求终于发出来了,所以是图片大小的问题
所以,请出一个工具Insomnia,模拟浏览器发出请求
这才发现时nginx在作怪
nginx默认的客户端body大小为1M
413 Request Entity Too Large
解决:根据官方文档说明,可以在nginx配置文件中http、server、location等配置块添加配置,
client_max_body_size size; 来调整允许的客户端上传文件的body大小。设置为0,表示不限制。
client_max_body_size 10m; 设置为10M
最后终于上传成功。
得出结论:
1)测试顺序应该先拿工具测试,再在浏览器端发出请求,这样能早些看到异常信息。
2)页面需要优化设置提示信息。