html的form enctype= "multipart/form-data "

1 篇文章 0 订阅
0 篇文章 0 订阅

通常情况下,使用HTML表单从浏览器向服务器传递数据。这个表单中可能包含文本域、检验框、按钮以及上载文件的文件类型控制。使用者用自己的数据填充并将这个表提交给服务器。
  表单元素中的   enctype   属性规定了传递给服务器的表数据集编码的内容类型。enctype   属性的默认值是“application/x-www-form-urlencoded”,但当向服务器传送大量文本、包含非ASCII字符或二进制数的数据时,这个默认类型就不能胜任了。这时,文件上载提交表单时应使用“multipart/form-data”内容类型。
  一个“multipart/form-data”信息包含一系列部件,每个部件都可能包含:
一个Content-Disposition(内容-处理)头,其值为 "form-data "   ;一个规定控制名的name
  对于一个文件类型控制,一个部件可能包含更多信息:
在客户机上规定原始路径和文件名的filename(文件名)属性;所发送的二进制数据控制的Content-Type   (内容-类型)头。
  在这些头的后面跟随着控制的二进制或文本内容。
  以下例子说明“multipart/form-data”的编码,客户机的浏览器应有这个表单:
如果这个表单被提交,在服务器上可读到这些请求:

-----------------------------7cf87224d2020a
Content-Disposition:   form-data;   name= "email "   
1111@126.com
-----------------------------7cf87224d2020a
Content-Disposition:   form-data;   name= "blob ";   filename= "c:\image.gif "
Content-Type:   image/pjpeg   

-----------------------------7cf87224d2020a   
Content-Disposition:   form-data;   name= "Enter "   
Submit   Query   
-----------------------------7cf87224d2020a--   

  当那个内容作为响应被传送回客户机时就会被显示出来。应该用Request.binaryRead   和Response.binaryWrite   方法读和写二进制数据。
<%
Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
%> 
可以看到响应的各部分用分界线来划分:
-----------------------------7cf87224d2020a
最后一个分界线后面跟随的是’   --   ’   。
  每一个控制都有一个Content-Disposition   。name属性识别由HTML表发送的控制(email、blob和Enter)。   对于一个文件类型控制(blob),   
文件名也是Content-Disposition   头的一部分,Content-Type   头给出二进制   数据的内容类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值