BinaryRead
BinaryRead 方法获取作为 POST 请求的一部分而从客户端传送到服务器的数据。此方法获取来自客户端的数据并将其储存在 SafeArray 中。SafeArray 是一个数组,其中包含维数和边界信息。
语法
variant = Request.BinaryRead(count)
参数
-
variant
-
包含由该方法返回的无符号数的数组。该参数的类型为 VT_ARRAY | VT_UI1。
count
- 在执行前,指定要从客户端读取的字节数。此方法返回后, count 将包含从客户机成功读取的字节数。实际读取的字节总数将小于或等于 Request.TotalBytes。
注释
BinaryRead 方法用于读取作为 POST 请求的一部分从客户端发出的未加工数据。此方法用于在底层访问数据,与此相反,Request.Form 集合用于查看在公告请求中发送的表格数据。一旦调用了 BinaryRead,则引用 Request.Form 集合中的任何变量都将导致错误发生。反之,一旦引用了 Request.Form 集合中的一个变量,则调用 BinaryWrite 也将导致错误发生。请记住,如果在访问 Request 集合中的变量时未指定该变量属于哪一个子集,将搜索 Request.Form 集合并强制使用上述规则。
示例
下列示例使用 BinaryRead 方法将请求的内容放入一个安全的数组中。
<% Dim binread Dim bytecount bytecount = Request.TotalBytes binread = Request.BinaryRead(bytecount) %>
应用于
Request 对象
BinaryRead后,可以BinaryWrite出来,你就可以看到二进制流的格式是:二进制头
类型
内容
二进制头
类型
内容
.....
这样的格式
二进制头可以用Request.ServerVariables("HTTP_CONTENT_TYPE")获取,[boundary=]后面的字符串就是二进制头
把二进制流读入adodb.stream,然后输出成字符串格式,就可以用split(所有内容, 二进制头)把内容分割成数组
然后依次解析每个维,提取表单名和表单值