近日在编写某个ASP程序时,其中有用到无组件上传的功能,但在上传文件的时候发现了这样的问题,当文件小于200K时候一切正常,大于200KB时出现如下的错误!
请求对象错误 'ASP 0104 : 80004005'
操作被禁止
/Upload.asp, line 40
WEB服务器环境:
Windows 2003 server + IIS 6.0
分析其原因:
原来IIS6.0默认 禁止上传超过 200kB 的文件. 因此你需要修改 IIS 的默认设置来更改文件限制的大小.
在 IIS 6.0 中, AspMaxRequestEntityAllowed 属性指定了一个 ASP 请求(Request)可以使用的最大字节数. 如果 Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值, IIS 将返回一个 403 错误信息.
这个属性值与 MaxRequestEntityAllowed 相似, 但是是针对 ASP 请求的. 假如你知道自己的 ASP 应用只需要处理很少的请求数据, 你可以在 World Wide Web Publishing Service (WWW 发布服务)层级设定全局的 MaxRequestEntityAllowed 属性为 1MB, 并单独设定 AspMaxRequestEntityAllowed 为一个较小的值.
解决方法
1、停止IIS6服务器(务必)
2、用记事本打开位于 C:\Windows\System32\Inetsrv 中的 metabase.XML, 并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 "1073741824", 1GB). 务必用计算本打开。