在Windows2003系统下,上传大文件时,出现错误“请求对象错误‘ASP 0104:80004005’”。
改win2003的iis 6.0对asp的上传文件大小200k没有影响,aspx的上传程序也没有影响。在iis6.0中,默认设置特别严格和安全,最多只能传输204800字节,可以最大限度地减少过去超时和限制过于宽松带来的攻击。6 IIS出于安全考虑,默认最大请求为200K(即最大提交数据限制为200KByte,204800Byte)。(IIS 6.0之前没有这种限制)
解决办法
方法1:
步骤1:修改IIS设置以允许直接编辑配置数据库。开放的互联网信息服务
第二步:首先关闭服务中的iis admin服务,找到windows\system32\inetsrv\下的metabase.xml,打开,找到ASPMaxRequestEntityAllowed,修改到需要的值。默认值为204800,即200K,如51200000(50M)。
然后重新启动iis管理服务。
方法二:
创建一个包含以下内容的新文本文件:
-
set provider obj=GetObject(' winmgmt:/root/Microsoft IIS v2 ')
set vdirObj=provider obj . get(' IIS webvirtualdirsetting=' W3SVC/1/ROOT ' ')
' WScript.echo 'Before: ' vdirObj。AspMaxRequestEntityAllowed
vdirObj。AspMaxRequestEntityAllowed=51200000
vdirObj。放_()
WScript。Echo 'Now: ' vdirObj。AspMaxRequestEntityAllowed
-
然后将其保存为. vbs文件,如vf.vbs
然后,在命令行模式下,执行cscript文件的路径和名称,例如:
cscript d:\vf.vbs
这样,ASP上传大小就更改为上面的设置:51200000字节(50兆字节)。