• form 中Enctype=multipart/form-data 的作用


    form 中Enctype=multipart/form-data 的作用

    ENCTYPE="multipart/form-data"用于表单里有图片上传。 

    <form name="userInfo" method="post" action="first_submit.jsp"    ENCTYPE="multipart/form-data"> 
    表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。 
    如下: 
    <tr> 
          <td height="30" align="right">上传企业营业执照图片:</td> 
          <td><INPUT TYPE="FILE" NAME="uploadfile" SIZE="34"    onChange="checkimage()"></td> 
        </tr> 
    就得加ENCTYPE="multipart/form-data"。 


    表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. 
    enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。 form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,取表单值加入数据库时,用到下面的: 

    SmartUpload su = new SmartUpload();//新建一个SmartUpload对象 

    su.getRequest().getParameterValues();取数组值 

    su.getRequest().getParameter( );取单个参数单个值 

    实例

    在下面的例子中,表单数据会在未编码的情况下进行发送:

    <form action="form_action.asp" enctype="text/plain">
      <p>First name: <input type="text" name="fname" /></p>
      <p>Last name: <input type="text" name="lname" /></p>
      <input type="submit" value="Submit" />
    </form>
    

    亲自试一试

    定义和用法

    enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

    默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。

    语法

    <form enctype="value">

    属性值

    描述
    application/x-www-form-urlencoded 在发送前编码所有字符(默认)
    multipart/form-data

    不对字符编码。

    在使用包含文件上传控件的表单时,必须使用该值。

    text/plain 空格转换为 "+" 加号,但不对特殊字符编码。
  • 相关阅读:
    leetcode 390. 消除游戏
    C12Test5 record
    IELTS Writing Task 1: two-chart answer
    rails work
    java 依赖注入
    Java1.7已经舍弃substr了
    在存储过程创建临时表,插入字段,更新字段
    在存储过程里创建临时表,往表中直接插入数据
    存储过程里分页的例子
    验证方法、自己写一个日期控件、
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7846825.html
Copyright © 2020-2023  润新知