MultipartFile获取不到文件?改个request的类就可以了

最近公司的OA项目的电子签章功能,买的一家公司的,遇到了一个前台发送签章文件,而后台使用MultipartFile接收不到的情况,由于前台js直接调用人家公司封装的方法,所以后台得看看怎么改,特此做个笔记记下。

可以看到图中黄色框使用MultipartFile获取到数组为零,根本就没有获取到,但是看到上方request变量下有个multipartFiles的Map,大小为一,也就是说传到后台了,只不过不能采用MultipartFile来获取,那么就需要别的方法来获取了。

百度谷歌了一圈后找不到任何可行的方案,觉得既然是request里面的,那就去看下HttpServletRequest这个类,看了一圈后还是没看出办法。后来猛地看到上面变量参数右边request的类是StandardMultipartHttpServletRequest,果然被我发现了解决问题的突破点。

解决的方法很简单,把request的类从HttpServletRequest换成StandardMultipartHttpServletRequest就可以了,

接下来就可以调用getFileMap()方法获得到一个Value是MultipartFile的Map,到这,便成功的获取到了这个文件。

虽然改动了很少的代码便能获取到,但是还是花费了几个小时来找这个问题的解决方法,提醒我以后要注意细节,人家说看源码是有道理的,学习的路还有很长,要坚持不懈的走下去。

你可能感兴趣的:(MultipartFile获取不到文件?改个request的类就可以了)