今天在测试ASP做一个文件下载页面,用ADODB.Stream来操作文件下载达到隐藏真实路径的目的,因为是本地测试,所以一开始用的是一个63.8M的文件做下载测试,却提示如下的错误:
想起IIS6下面文件上传默认的是200K,默认的缓冲会不会也有这个限制?于是将测试文件换成一个100K的,程序顺利通过,看来真是有这个限制,于是打开c:\windows\system32\inesrv\下的metabase.xml来看,搜索Buffer,一共找到四个,借助金山词霸确定是572行的AspBufferingLimit="4194304",换算了一下是4096(4M),于是将测试下载的文件又换成一个3.8M的,程序也顺利通过,再将测试文件换成一个5.1M的,又出现上面的错误,看来引起错误的原因应该是这个了,于是我在“4194304”加多了一个“0”,5.1的文件也可以顺利下载了,问题解决。
注意:改metabase.xml前必须先在服务里关闭iisadminservice服务,改完之后再重启IIS服务
Response 对象 错误 'ASP 0251 : 80004005'
超过响应缓冲区限制
/showuser.asp,行 0
此 ASP 页的执行造成响应缓冲区超过其配置限制。
超过响应缓冲区限制
/showuser.asp,行 0
此 ASP 页的执行造成响应缓冲区超过其配置限制。
想起IIS6下面文件上传默认的是200K,默认的缓冲会不会也有这个限制?于是将测试文件换成一个100K的,程序顺利通过,看来真是有这个限制,于是打开c:\windows\system32\inesrv\下的metabase.xml来看,搜索Buffer,一共找到四个,借助金山词霸确定是572行的AspBufferingLimit="4194304",换算了一下是4096(4M),于是将测试下载的文件又换成一个3.8M的,程序也顺利通过,再将测试文件换成一个5.1M的,又出现上面的错误,看来引起错误的原因应该是这个了,于是我在“4194304”加多了一个“0”,5.1的文件也可以顺利下载了,问题解决。
注意:改metabase.xml前必须先在服务里关闭iisadminservice服务,改完之后再重启IIS服务