定义传输类型

为了正确编码和解码表单数据,form元素定义一个enctype属性,该属性可以定义表单数据的编码类型。常用类型包括两种,说明如下,另外还可以设置text/plain类型,以直接字符形式进行传递,该类型不常用。

•application/x-www-form-URLencoded

application/x-www-form-URLencoded是默认编码类型。表单数据被编码为“名/值”对的形式(这是标准的编码格式)。

这种编码方式将空格用“+”代替,非字母和数字字符用以“%hh”表示的该字符的ASCII编码代替(汉字就是这种形式),而变量和值使用“=”连接在一起,各个变量和值对之间使用“&”连接。通过这种方式把表单中输入的数据进行打包,并发送到服务器端。

application/x-www-form-URLencoded编码方式不能传递二进制数据流,不适合文件上传,它只能提交符合ASCII编码的文本字符串。 

  •multipart/form-data

multipart/form-data编码可以把表单数据编码为多条消息,其中每个表单域对应一个消息块。这种方式传输的消息包含了一系列的数据块,每一个数据块代表表单中的一个表单域变量,并且数据块的排列顺序与页面中表单域的排列顺序是一一对应的。数据块与数据块之间使用特殊字符分隔。

multipart/form-data编码方式可以用来传输二进制数据或者非ASCII字符的文本(如图片、不同格式的文件等)。请注意,只有使用multipart/form-data方式,才能完整地传递文件数据。但是这种编码方式在客户端和服务器端都会有很多限制。

提示:multipart/form-data编码方式,必须使用POST方法,GET方法无法处理这样的表单数据。


网站建设、网络营销咨询专线:0871-63535511(点击可一键拨号)