servlet接收multipart/form-data表单数据
来源:互联网 发布:0耗材空气净化器 知乎 编辑:程序博客网 时间:2024/06/03 22:08
表单的的提交方式有“application/x-www-form-urlencoded”和“multipart/form-data”两种方式,默认的缺省情况为“application/x-www-form-urlencoded”提交。
一般情况下使用“application/x-www-form-urlencoded”会比较快捷,然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。特别在文件上载时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。所以,大数据传输时一般选择“multipart/form-data”。
然而当使用“multipart/form-data”传输时,如果传输的数据有多个参数,那么用request.getParameter()取到的值会是null。所以要用request.getInputStream()取值并解析。解析的部分网上提供多种封装好的方法。下面为其中一种方法。
- DiskFileItemFactory factory = new DiskFileItemFactory();
- ServletFileUpload upload = new ServletFileUpload(factory);
- upload.setHeaderEncoding("UTF-8");
- List items = upload.parseRequest(request);
- Map param = new HashMap();
- for(Object object:items){
- FileItem fileItem = (FileItem) object;
- if (fileItem.isFormField()) {
- param.put(fileItem.getFieldName(), fileItem.getString("utf-8"));//如果你页面编码是utf-8的
- }
- }
用该方法解析完之后可以直接用param.get()获取你要的值,但是该方法要导入commons-fileupload-1.3.jar和commons-io-1.2.jar。
此为jar包下载地址http://download.csdn.NET/detail/han123456o/6769327
阅读全文
0 0
- servlet接收multipart/form-data表单数据
- servlet接收multipart/form-data表单数据
- HttpClient:模拟表单提交文件,发送multipart/form-data数据
- form表单 enctype="multipart/form-data"
- form表单enctype="multipart/form-data"
- form enctype:"multipart/form-data",method:"post" 提交表单,后台获取不到数据
- action提交form表单,用于登录请求,servlet接收数据
- form表单中的enctype="multipart/form-data"
- form表单中的enctype="multipart/form-data"
- 表单form的enctype="multipart/form-data"使用体会
- form表单中的enctype="multipart/form-data"
- 表单form的enctype="multipart/form-data"
- 表单form的enctype="multipart/form-data"使用体会
- 表单form的enctype="multipart/form-data"使用体会
- 文件上传 form 表单 enctype="multipart/form-data" 分析
- 表单form的enctype="multipart/form-data"使用体会
- 表单form的enctype="multipart/form-data"使用体会
- form表单中的enctype="multipart/form-data"什么意思?
- Leetcode Remove Duplicates from Sorted Array II
- JS和CSS中背景
- 小结一篇-(秀我工作一年)
- [ASCII] 回车(CR)与换行(LF), '\r'和'\n'的区别
- Python 语句
- servlet接收multipart/form-data表单数据
- iOS自动化测试之UI自动化测试学习笔记
- vs 2015
- JSR-303验证框架
- cygwin与mingw的区别
- 算法概论课本题目Chapter 8 Exercises 8.10
- MFC获取应用程序的当前工作路径,并分割绝对路径
- nginx 反向代理运行问题总结
- sshd无法发起新的连接