标题 | Form表单标签的Enctype属性的作用及应用示例介绍 |
内容 | Enctype:指定将数据回发到服务器时浏览器使用的编码类型。用于表单里有图片上传。 编码类型有以下三种: application/x-www-form-urlencoded:在发送前编码所有字符(默认)。这是标准的编码格式。 multipart/form-data:不对字符编码,在使用包含文件上传控件的表单时,必须使用该值。 text/plain:窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。 例子: 代码如下: <formaction="${pageContext.request.contextPath}/imageUpload_saveOrUpdate.action"method="post"enctype="multipart/form-data"> <div> <label>请选择上传图片地址:</label> <inputtype="file"name="image"/> </div> </div> <div> <inputtype="submit"value="上传"/> </div> </form> 表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据。enctype="multipart/form-data"是上传二进制数据过去。 如果在服务器端要通过Request对象来获取相应表单域的值,则应该将enctype属性设置为application/x-www-form-urlencoded值(即默认值,可以不显示设置)。 为什么上传文件要设置enctype="multipart/form-data": 因为:设置enctype为multipart/form-data值后,不对字符编码,则数据通过二进制的形式传送到服务器端,这时如果用request是无法直接获取到相应表单的值的,而应该通过stream流对象,将传到服务器端的二进制数据解码,从而读取数据。 如果要上传文件的话,是一定要将encotype设置为multipart/form-data的。 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。