html form中Enctype=multipart/form-data的有什么用
Enctype是什么?
enctype这个属性管理的是表单的MIME编码。共有三个值可选:
- application/x-www-form-urlencoded
- multipart/form-data
- text/plain
其中application/x-www-form-urlencoded是默认值,作用是设置表单传输的编码,而multipart/form-data是用来制定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或是是mp3等等。text/plain是纯文本传输的意思,在发邮件的时候要设置这种编码类型,否则会出现接收时编码混乱的问题。
form设置了enctype="multipart/form-data" 属性后,就是2进制传输数据了。
解决当FORM的ENCTYPE=multipartform-data 时取不到值
在开发一个MIS系统中,部分页面中有需要上传文件的字段,相信大家在开发中也经常遇到这样的情况.因为要上传文件,所以FORM标记中的ENCTYPE="multipart/form-data",可是这样的话,当你在servlet里面用request.getParameter()方法无论如何都只是获得null值,解决方法如下:
用jspsmartupload组件实现文件上传的,这个方法是我使用的方法,所以把主要代码贴了出来
SmartUpload upload = new SmartUpload();
try{
upload.initialize(config, request, response);
// 允许上传的文件类型
upload.setAllowedFilesList("doc,xls,");
// 拒绝上传的文件类型
upload.setDeniedFilesList("exe,bat,jsp");
// 允许上传文件的单个最大大小
upload.setMaxFileSize(1024 * 1024 * 20);
// 允许上传文件的最大大小总和
// upload.setTotalMaxFileSize(1024*1024*10);
//上传数据
upload.upload();
}
catch (SmartUploadException e){
e.printStackTrace();
return;
}
Request req = upload.getRequest();
String spid=(String)req.getParameter("teacherId");
//.....
//To do something
这样就可以取得对应的值了.
form enctype="multipart/form-data"中文乱码
在web开发时,我们可能会为其添加上传图片的功能,在form表单上传图片的同时,我们也会在其中添加一些信息,比如id,图片简介什么的,当使用到了中文时,也许会产生乱码问题。问题的原因可以归结为以下几点
servlet 中是否有request.setCharacterEncoding("UTF-8");没有就需要加上。
项目的编码格式是否是“GBK”,如果不是的话,也需要将其修改为“GBK
修改了以上的小问题的话,大问题就基本解决了
- Vue.js 入门指南之“前传”(含sublime text 3 配置) 1,下载安装Node.js2,配置Vue环境3,Vue初探4,配置sublime Text
- JavaScript的“原型甘露”
- JSP开发过程遇到的中文乱码问题及解决方法
- 求连续操作(登录)数量(次数)最大的记录(用户)
- 使用Topshelf创建自宿主的Windows服务程序
- 如何用ORM支持SQL语句的CASE WHEN?
- 条件表达式的短路求值与函数的延迟求值
- 使用CTE解决复杂查询的问题
- WinDbg调试.NET程序入门
- Release编译模式下,事件是否会引起内存泄漏问题初步研究 疑问:
- 10种简单的Java性能优化学习
- 巧用枚举类型,实现项目的多语言切换
- 影响Java调用性能有哪些因素
- 如何为可扩展系统进行Java Socket编程
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- 【机器学习基础】机器学习中类别变量的编码方法总结
- 树莓派基础实验2:RGB-LED实验
- 【Python基础】Python画王者荣耀英雄能力雷达图
- 树莓派基础实验4:继电器实验
- 树莓派基础实验5:激光传感器实验
- 树莓派基础实验6:轻触开关按键实验
- 从 lsof 开始,深入理解 Linux 虚拟文件系统!
- 原来 8 张图,就可以搞懂「零拷贝」了
- 构造函数没有返回值是怎么赋值的?
- 高频手撕算法合集来了!
- 面试官:兄弟,说说 ArrayList 和 LinkedList 有什么区别
- 开源中文关系抽取框架,来自浙大知识引擎实验室
- EAST+CRNN银行卡号识别,附数据集
- 绝了!搜狗输入法这骚操作!
- Linux 中几个正则表达式的用法