spring mvc上传文件表单同时传值的问题

spring mvc上传文件表单同时传值的问题,第1张

当在上传表单中设置了 enctype="multipart/form-data" 时post传过去的字符串的值为null,会报 HTTP Status 400 - Required String parameter 'description' is not present 错误。

解决方案:

1、首先在pom.xml中添加

然后在applicationContext.xml中添加即可解决,这样的话spring会对表单的数据进行处理,就算使用了enctype="multipart/form-data"进行传值也能拿到数据

Spring MVC为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的。Spring使用Jakarta Commons FileUpload 技术实现了一个MultipartResolver实现类:CommonsMultipartResolver。

Spring MVC上下文中默认没有装配MultipartResolver,因此默认情况下不能处理文件的上传工作。如果想要使用Spring的文件上传功能,需要先在上下文中配置MultipartResolver。

第一步:配置MultipartResolver

使用CommonsMultipartResolver配置一个MultipartResolver解析器:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"

p:defaultEncoding="UTF-8"

p:maxUploadSize="5242880"

1、确认;\x0d\x0a2、确认commons-fileupload.jar 和 org.springframework.web.jar 存在环境\x0d\x0a3、MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;\x0d\x0a这一句会报错:ApplicationHttpRequest cannot be cast to MultipartHttpServletRequest\x0d\x0a解决办法是通过这种方式:\x0d\x0aMultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext())\x0d\x0aMultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(request)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12110221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存