上传文件的表单中 <form> 要加属性 enctype="multipart/form-data", 很多人只是死记硬背知道上传表单要这么写,知其然而不知其所以然。那到底为什么要添加这个属性呢?它是什么意思呢?它又有什么其他可选值呢? 其实 form 表单在你不写 enctype 属性时,也默认为其添加了 enctype 属性值,默认值是 enctype="application/x-www-form-urlencoded". 这个属性用于设置表单的 MIME 编码,共有三个值可选:
        1、 application/x-ww w-form-urlencoded( 默认值 ):大家可能在Ajax里见过这个:xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");这两个要做的是同一件事情,就是设置表单传输的编码。在AJAX里不写有可能会报错,但是在HTML的form表单里是可以不写enctype="application/x-www-form-urlencoded"的,因为默认HTML表单就是这种传输编码类型。
        2、 multipart/form-data:用来指定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或者mp3等等。"multipart/form-data"是上传二进制数据;form里面的input的值以二进制的方式传过去,所以request.getParameter( );就得不到值了。想要获取值需要这么做:
                                                                                                                                                                     SmartUpload smartUpload = new SmartUpload();//新建一个SmartUpload对象
                                                                                                                                                                     smartUpload.getRequest().getParameterValues();//取数组值
                                                                                                                                                                     smartUpload.getRequest().getParameter( );//取单个参数单个值

3、text/plain:text/plain是纯文本传输的意思,在发送邮件时要设置这种编码类型,否则会出现接收时编码混乱的问题,网络上经常拿text/plain和 text/html做比较,其实这两个很好区分,前者用来传输纯文本文件,后者则是传递html代码的编码类型,在发送头文件时才用得上。

application/x-www-form-urlencoded和text/plain都不能用于上传文件,只有multipart/form-data才能完整的传递文件数据。

对application/x-www-form-urlencoded、multipart/form-data和text/plain的认识相关推荐

  1. application/x-www-form-urlencoded multipart/form-data text/plain 的区别和作用

    我们知道在通过POST方式向服务器发送AJAX请求时最好要通过设置请求头来指定为application/x-www-form-urlencoded编码类型.知道通过表单上传文件时必须指定编码类型为&q ...

  2. IllegalArgumentException:@Body parameters cannot be used with form or multi-part encoding

    使用retrofit时报错IllegalArgumentException:@Body parameters cannot be used with form or multi-part encodi ...

  3. html form半透明,HTML——form

    国色天香:Form表单的基本使用 form表单:用来接收用户输入信息,表单中可以包含input标签(我们将会在后面详细讲解),下面学习一下form表单的属性. action :设置URL将表单数据发送 ...

  4. ExtJs6解决添加和修改Form共用一个form的隐藏域的id的取消传值

    问题重现:修改不会有问题,id会绑定之前的grid,有具体数字 添加有问题,因为id是空,传的是绑定值的话会显示"类名-1",从int类型变成了string类型,后台会出错 这是E ...

  5. 【多标签文本分类】Ensemble Application of Convolutional and Recurrent Neural Networks for Multi-label Text

    ·阅读摘要:   本文提出基于Seq2Seq模型,提出CNN-RNN模型应用于多标签文本分类.论文表示CNN-RNN模型在大型数据集上表现的效果很好,在小数据集效果不好. ·参考文献:   [1] E ...

  6. python form表单上传服务器文件_如何使用multipart/form POST将文件上传到需要上载的文件的URL(chunks)...

    是否有机会通过API端点上传文件,该端点将多部分/表单数据作为只有该文件URL的内容类型?在 规则: 将整个文件下载到内存中,然后由这个端点上传不是一个选项(不能保证这个盒子会足够大来容纳一个临时文件 ...

  7. 1. 恼人的Multipart form data

    文章目录 1. 概述 2. 问题 3. 解决方案 3.1 解决方案一 3.2 解决方案二 3.3 解决方案三 4. 总结 1. 概述 我目前在公司负责开放平台项目,使用spring-cloud-gat ...

  8. day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType

    一.ajax 的特点 1.异步交互:客户端发出一个请求后,需要等待服务器响应结束后, 才能发出第二个请求 2.局部刷新:给用户的感受是在不知不觉中完成请求和响应过程. 二.ajax 模板示例 ($.a ...

  9. oracle的form开发,Oracle Form开发之调用Form

    Form开发中经常会用到Form间相互调用的功能,总结了以下,大概有以下3种方法: 方法1 PROCEDURE shot_plan_new IS fm_id FormModule; BEGIN fm_ ...

  10. Web Form调用Windows Form的控件

    Web   Form页面的代码:     <%@   Page   Language="vb"   debug="true"   AutoEventWir ...

最新文章

  1. python收集网页中的翻页
  2. R语言画Cox回归森林图
  3. 混合密度网络(MDN)进行多元回归详解和代码示例
  4. hadoop配置文件聚集功能(设置日志可以查看)
  5. 编程之美2.5 寻找最大的K个数
  6. 最小哈希 minhash
  7. 随笔--2011.12.21
  8. Spring Cloud技术分析之Dubbo与Cloud的对比
  9. 技术关注:搜索引擎经验
  10. Python_python内置函数
  11. android自定义游戏闯关图,Android自定义View(四) -- Canvas
  12. GitHub 支持上传视频文件啦!
  13. mysql galera haproxy_安装配置Haproxy代理MySQL Galera集群
  14. 英语学习过程中的几点体会(2)
  15. JAVA语法——经典题目02
  16. Linux的程序安装和包管理
  17. [MSSQL]SQL简繁转换函数
  18. 多屏互动之Duet Display和Air Display
  19. 二叉平衡树AVL简介
  20. Android DataBing基础使用 +ViewModel 及setvalue过程及原理

热门文章

  1. Tomcat7下配置SSI,同时解决中文乱码问题
  2. javascript拾遗
  3. 一些有价值的数值公式(游戏)
  4. jq为a标签绑定的onclick事件在移动端不响应
  5. 机器学习实战(2)—— k-近邻算法
  6. Java 异常处理 之 运行期异常
  7. TCP/UDP协议简要梳理
  8. 关闭浏览器后Session失效原因分析
  9. 脑图管理项目很方便清晰!
  10. 面向对象软件设计原则