fileupload插件调用upload.parseRequest(request)解析得到空值问题
来源:互联网 发布:商业数据分析与挖掘 编辑:程序博客网 时间:2024/05/17 02:04
查看原文(*^__^*) 嘻嘻……
java Web下接收文件常基于fileupload插件实现,其一般代码如下:
index.html
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
对应的后台Controller代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
我是在SpringBoot下测试时,发现的该问题,即在解析请求时List list = upload.parseRequest(request);得到的list size=0,也就是根本没有得到文件数据。我在网上搜索该问题的解决方法,大致有以下两种:
(1)原因在于spring的配置文件中已经配置了MultipartResolver,导致文件上传请求已经被预处理过了,所以此处解析文件列表为空,对应的做法是删除该段配置。
(2)认为是structs的过滤器导致请求已被预处理,所以也要修改对应过滤器的配置。
然而,在SpringBoot下,上述两种解决方法不可能做到,因为SpringBoot的相关配置都是自己完成的,根本没有显示的配置文件。况且以上两种解决方法,修改配置文件可能影响整个工程的其他部分,所以得另寻方案。
我通过断点调试该Controller代码,发现传入的参数HttpServletRequest实例已经为StandardMultipartHttpServletRequest 对象了,且其结构中包含整个form表单的所有字段信息,我就想,区别于网上已有的两种解决方案,总是想避免这种预处理,何不就利用这种预处理,来简化自己的代码结构呢?于是就有了下面的解决代码。其方法很简单,就是对传入的request做强制转型,从而可以根据StandardMultipartHttpServletRequest 实例方法得到相关form表单数据,从而大大简化代码结构,示意如下:
- fileupload插件调用upload.parseRequest(request)解析得到空值问题
- fileupload插件调用upload.parseRequest(request)解析得到空值问题
- 使用bootstrap-fileinput的问题:上传时upload.parseRequest(request)得到的List为空
- upload.parseRequest(request)为空
- upload.parseRequest(request)为空
- 开发日志:struts2使用commons.fileupload上传附件,并解决upload.parseRequest(request)为空的问题
- 解决文件上传时upload.parseRequest(request)得到的List为空
- sturts2和kindeditor的文件上传,upload.parseRequest(request)得到的List为空
- servletFileUpload.parseRequest(request)解析为空获取不到数据问题
- fileItems=upload.parseRequest(request);//request为空的解决方法
- upload.parseRequest(request)取不到值
- upload.parseRequest为空
- upload.parseRequest为空
- upload.parseRequest 为空
- upload.parseRequest为空
- struts2框架下upload.parseRequest(request)为空解决方案
- Android+struts上传文件时upload.parseRequest(request)为空
- parseRequest(request)为空的问题
- NoSQL数据库的四大分类及分析
- 设计模式系列-工厂模式
- 数据库入门---事务
- HashMap原理分析
- SQL——SQL语言全部关键字详解
- fileupload插件调用upload.parseRequest(request)解析得到空值问题
- 通过eclipse发布项目
- C/C++ | 20-7链表,单链表的建立,把’a'–’z’26个字母插入,倒叙,打印
- MS523 直接pin对pin替换RC523|FM17550 无需修改硬件以及软件
- 最小生成树-Prim算法和Kruskal算法
- PL/SQL 条件分支(二)
- 进程和线程的区别与联系
- 剑指offer--面试题20:表示数值的字符串
- 关于juqery对html的lable标签取值、赋值问题