问题:
一开始以为Servlet 没有提供对文件读取的相关内容。
后来发现,HttpServletRequest中有getParts方法,可以获取上传的文件。
再后发,经过反复测试,发现都读不到相关内容。
再后发,发现有一些示例,在Servlet程序中通过注解可以获取到。
嗯,我代码只有Filter,没有Servlet,所以。。。读不到。
解决:
最后发现:在Tomcat中通过server.xml配置:allowCasualMultipartParsing=true可以实现:
这个毕竟要手工配置,一直在找有没有通过代码可以设置的,找了很久,目前没发现。
补充说明:
HttpRequest request = getRequest(); write("msg : " + request.getParameter("msg") + "<br/>"); Collection<Part> parts = request.getParts(); if (parts != null) { for (Part part : parts) { write("fileName : " + part.getSubmittedFileName() + "<br/>"); } }
对于拿到的Part,即Body的解析内容。
如果存在文件,返回:表单+请求头+文件混在一起的parts。
part.getSubmittedFileName() 不为null,则有上传的文件名
part.getName() 不为null,则有表单或请求头的名称,值的话通过 request.getParameter("msg")、request.getHeader("xxx") 来读取。
如何判断哪些是表单,哪些是文件?看哪个名称null不null。

版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。 |
个人微信公众号![]() |
Donation(扫码支持作者):支付宝:![]() |
Donation(扫码支持作者):微信:![]() |
![]() |
分类:
Java(Eclipse)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
2020-08-27 Sagit.Framework For IOS 开发框架入门教程15:表单校验事件:require、requireGroup、requireBeforeClick用法。
2013-08-27 面试杂记:三个月的面试回忆录(携程、腾讯等)
2011-08-27 网站SEO优化、IIS日志分析工具 IISLogViewer V2.0 发布
2010-08-27 CYQ.Data 轻量数据层之路 华丽V1.3版本 框架开源
2010-08-27 CYQ.Data 轻量数据层之路 bug反馈、优化建议、最新框架下载