网站服务器是win2003系统,今天上传一个的附件,系统却提示:request 对象错误 ‘asp 0104:80004005’不允许操作 /admin/commpages/selectmanageDir/News_upfile.asp行 45。奇怪,难道是程序有错误了,立即到本地电脑win 2003测试,win xp测试 正常,没有办法只能搜索一番,原来是 win2003禁止了上传超过200KB文件的限制。
服务器操作系统为Windows 2003 server + IIS 6.0 服务器,原因:IIS6.0 禁止上传超过 200kB 的文件。因此需要修改 IIS 的默认设置。
请进行如下操作:先在服务里关闭iis admin service服务,找到位于 C:\Windows\System32\ Inetsrv 中的 metabase.XML 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值(如 5120000即5M),默认为204800,即200K,然后重启iis admin service服务 。
注意: 在编辑文件前如果没有停止 IIS 服务, 则无法保存修改后的文件
若你想在iis运行的时候修改其配置文件,则打开iis管理器,打开internet信息服务属性面板,钩选“允许直接编辑配置数据库,允许在iis运行时编辑iis配置数据库配置文件”。
【技术背景】
在 IIS 6.0 中, AspMaxRequestEntityAllowed 属性指定了一个 ASP 请求 (Request)可以使用的最大字节数. 如果 Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值, IIS 将返回一个 403 错误信息.
这个属性值与 MaxRequestEntityAllowed 相似, 但是是针对 ASP 请求的. 假如你知道自己的 ASP 应用只需要处理很少的请求数据, 你可以在 World Wide Web Publishing Service (WWW 发布服务)层级设定全局的 MaxRequestEntityAllowed 属性为 1MB, 并单独设定 AspMaxRequestEntityAllowed 为一个较小的值。