zoukankan      html  css  js  c++  java
  • Form表单标签的Enctype属性的作用及应用示例介绍

    Enctype :指定将数据回发到服务器时浏览器使用的编码类型。用于表单里有图片上传。

    编码类型有以下三种:

    application/x-www-form-urlencoded: 在发送前编码所有字符(默认)。这是标准的编码格式。
    multipart/form-data: 不对字符编码,在使用包含文件上传控件的表单时,必须使用该值。
    text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。

    例子:

    <form action="${pageContext.request.contextPath}/imageUpload_saveOrUpdate.action" method="post" enctype="multipart/form-data">
    <div>
    <label>请选择上传图片地址:</label>
    <input type="file" name="image"/>
    </div>
    </div>
    <div>
    <input type="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的。

  • 相关阅读:
    OpenCV4Android——No implementation found for native Lorg/opencv/core/Mat;.n_Mat ()J
    The method onClick(View) of type new View.OnClickListener(){} must override a superclass
    Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境
    45_拍照
    32_文件断点上传器
    31_多线程断点下载器
    Eclipse的Servers视图中无法添加Tomcat
    23_网络通信之网络图片查看器
    C语言 · 时间转换
    C语言 · 4_2找公倍数
  • 原文地址:https://www.cnblogs.com/coprince/p/6490948.html
Copyright © 2011-2022 走看看