本来标题想叫关于我放弃码农生活到异世界码头吃了一整年薯条又回来敲代码这件事。。
前景:回来敲代码半个月了,之前入职的有做web的、做iot的,做嵌入式的、做cv的,这次入职的做web。(写文章为了巩固自己的记忆也给大家做参考)
(找问题参考的前边废话可以不看,直接正文)
首先前端是内部基于vue的框架,不知道魔改了哪个开源框架还是参考了哪个框架,这几年大家开发基于vue的内部框架很多都是魔改了ele-UI,基本都差不多;
后端基于springmvc,java好久不做了,maven管理,一开始搞不懂maven是干嘛的,现在觉得就是类似nodejs的npm包管理,在pom.xml注册自己要用到的架包。
刚过来修改了个正则判断的Bug,然后就是开发新页面,新页面包括了导入,没有参考,踩坑记录
正文1
现在前端基于vue的组件都会有upload组件,你在它action写入了后台接收的路径之后,它会以binary二进制传输文件,f12 network可以看到。这个时候它自动设置了传输类型content-type为multipart/xxx,那springmvc专有的MultipartFile包认这个格式,包源代码有个判断是否multi开头。
那么坑来了,公司里前端传后台数据都经过了前端node层的接收,再由nodejs的request包转发到后台java服务器,前端->nodejs层(后台)->java后台。因此我前台f12看到的确实是multi类型,但是node层转发封装的方法,在请求头做了修改,添加信息(虽然没改content-type),导致请求头自动变回了application类型,而我后台MultipartFile就一直报错。
验证方法是java后台控制层用httpservletrequest接口,request.content-type查看请求头类型。解决方法1:绕过node层,直接发后台;方法2:自

本文主要讲述了在前端使用Vue组件上传文件到后端Java Spring MVC时遇到的MultipartFile接收问题,由于前端到后端经过Node.js中转,导致请求头类型改变,使得MultipartFile无法正确解析。解决方案包括绕过Node.js直接发送或自定义请求头封装。此外,还分享了后台处理Excel文件导入数据库时的注意事项,如避免不同版本POI库冲突、根据文件后缀使用相应API、处理空格和大文件导入策略等。
最低0.47元/天 解锁文章
676

被折叠的 条评论
为什么被折叠?



