项目是springboot+shiro,前期做过上传功能,直接用发现报错:
MultipartHttpServletRequest params = (MultipartHttpServletRequest) request;
控制台报错信息:
java.lang.ClassCastException: org.apache.shiro.web.servlet.ShiroHttpServletRequest cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest
断点调试发现问题:


解决办法:
ShiroHttpServletRequest shiroRequest = (ShiroHttpServletRequest) request;
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
MultipartHttpServletRequest multipartRequest = commonsMultipartResolver.resolveMultipart((HttpServletRequest) shiroRequest.getRequest());
可以正常获取参数:
String pageParam = multipartRequest.getParameter("pageParam"); // 页面的参数..
MultipartFile file = multipartRequest.getFile("filePath"); // 上传的文件id..
写到最后,新增按照原来的写法没问题,编辑保存却需要使用ShiroHttpServletRequest转换一次,前台人员说请求的写法都是一样的很是奇怪。

1657

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



