日期:2014-05-17  浏览次数:20863 次

关于Request.BinaryRead()的问题
编写了一个上传文件并把相关信息存入数据库中的网页,此网页在IIS5中运行没有什么问题,但是最近把它移植到IIS6中,发现不能上传文件,也不能将相关信息写入数据库,报“ASP   0104错误:80004005,不允许操作”:报错处对应的代码为 "RequestBin=Request.BinaryRead(Request.TotalBytes) ",请问各位高手,原因何在?如何解决之!谢谢!

------解决方案--------------------
是不是权限问题啊?
------解决方案--------------------
FormSize太大是不允许的,拆开来就可以了
FormData = " "
pFormSize = FormSize\4096
For i=1 to pFormSize
FormData = FormData & MidB(Request.BinaryRead(4096), 1)
Next
If FormSize Mod 4096> 0 then FormData = FormData & MidB(Request.BinaryRead(FormSize-4096*pFormSize), 1)

------解决方案--------------------
估计你的操作系统应该是2003一类的,2003增加了最大上传文件不能超过200K的限制,所以会报错,小于200K则是正常的.
找到文件c:\windows\system32\inetsrv\metabase.xml,用“记事本”打开该文件,用记事本中的“查找”功能搜索关键词AspMaxRequestEntityAllowed”,搜索到结果如下图所示,AspMaxRequestEntityAllowed= "204800 " 是win 2003用于限制最大上传文件大小的,默认是204800即200KB,你可以根据您的具体情况,修改该值,1MB对应1024000,10MB对应10240000,依此类推,设置完该值,保存文件即可。
注意修改的时候先停掉IIS服务,不然不允许改的.