上传文件(文件非必填)MultipartHttpServletRequest

阅读: 评论:0

上传文件(文件非必填)MultipartHttpServletRequest

上传文件(文件非必填)MultipartHttpServletRequest

背景:
在表单提交时,有上传文件内容,但此内容非必填项。

在无上传文件入参时,接收类型仍写MultipartHttpServletRequest时,直接报错:

Current request is not of type [org.springframework.web.multipart.MultipartHttpServletRequest]: org.tor.RequestFacade@3d1e5bd1

解决:

public void saveSystemParaMul(HttpServletRequest httpRequest,HttpServletResponse response) {if (httpRequest instanceof MultipartHttpServletRequest) {MultipartHttpServletRequest request = (MultipartHttpServletRequest) httpRequest;systemParameterService.saveSystemParaMul(request);}else{systemParameterService.saveSystemPara(httpRequest);}messager.jsonMessager().success().send(response);}

主要思路:
1. 先判断httpRequest 是否含有文件类型
if (httpRequest instanceof MultipartHttpServletRequest)
2. 若含文件,则将httpRequest 转换为MultipartHttpServletRequest类型。
MultipartHttpServletRequest request = (MultipartHttpServletRequest) httpRequest;

知识储备:
当使用MultipartHttpServletRequest类型接收参数,spring处理请求的时候,首先第一步就去检查当前请求是否为上传文件的请求。所以,在文件为空时,就会报错,故将接收类型仍改为通用的HttpServletRequest 。

解决此问题参考的blog:
.html

本文发布于:2024-01-28 23:56:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170645736311224.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23