首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多部分/表单-数据不支持request.getparamerter

问多部分/表单-数据不支持request.getparamerter
EN

Stack Overflow用户
提问于 2013-07-30 11:30:57
回答 4查看 41.4K关注 0票数 11

我有一张表格。它有文件上传部分以及几个输入字段。我使用request.getParameter()将值从jsp获取到servlet中。但是当我添加encrypt=multipart时,request.get参数不起作用。它返回null。我知道multipart不支持request.getParameter()。上传文件有什么解决方案吗?我也想使用request.get参数。

EN

回答 4

Stack Overflow用户

发布于 2013-07-30 12:27:42

apache commons库可以满足这样的需求。

参考:http://javakart.blogspot.in/2012/11/file-upload-example-using-servlet.html http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm

代码语言:javascript
复制
boolean isMultipart = ServletFileUpload.isMultipartContent(request); 
//this will help you identify request is of type multipart or not.

检查后,解析请求并使用库获取表单域和文件项。

示例:

代码语言:javascript
复制
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
        for (FileItem item : items) {
            if (item.isFormField()) {
                // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
                String fieldname = item.getFieldName();
                String fieldvalue = item.getString();
                // ... (do your job here)
            } else {
                // Process form file field (input type="file").
                String fieldname = item.getFieldName();
                String filename = FilenameUtils.getName(item.getName());
                InputStream filecontent = item.getInputStream();
                // ... (do your job here)
            }
        }
票数 9
EN

Stack Overflow用户

发布于 2013-07-30 12:10:48

request.getParameter()及其相关方法不适用于分块请求,在处理分块表单数据时将始终返回null。

如果你想使用request.getParameter(),那么你可以使用。

票数 3
EN

Stack Overflow用户

发布于 2013-07-30 13:17:16

使用@MultipartConfig注释servlet,然后使用getParts()方法访问各个部分。您使用的是Servlet 3.0,对吗?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17937841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档