win2003/win7 iis7与IIS6对无法上传大文件的解决方法

时间:2022-06-20 03:41:40

 

Windows 2003 Server的解决办法

Windows 2003 Server下无法上传附件,无论是文章还是软件上传都会出现:Request 对象 错误 'ASP 0104 : 的错误,请按照下面的说明一步步操作:

  更改win2003的IIS 6.0对asp教程的上传文件大小为200k限制,aspx的上传程序没有影响。在IIS6.0中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。IIS 6 出于安全考虑, 默认最大请求是200K(也即最大提交数据限额为200KByte,204800Byte)。(在 IIS 6.0 之前的版本中无此限制)

解决办法一:

新建一个文本文件,内容如下:

'----------------------------------------------------

set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")

set vdirObj=providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")

WScript.Echo "Before: " & vdirObj.AspMaxRequestEntityAllowed

vdirObj.AspMaxRequestEntityAllowed=51200000

vdirObj.Put_()

WScript.Echo "Now: " & vdirObj.AspMaxRequestEntityAllowed

'----------------------------------------------------


然后保存为.vbs文件,如:vf.vbs

然后在命令行模式下,执行 cscript 文件路径及文件名,如:

cscript d:vf.vbs

这样ASP上传大小就更改为了上面设置的:51200000字节 (50兆)

 

解决办法二:

第一步:修改IIS设置,允许直接编辑配置数据库教程,如下图所示:

win2003/win7 iis7与IIS6对无法上传大文件的解决方法

第二步:先在服务里关闭ii(www.111cn.net)s admin service服务

找到windowssystem32inesrv下的metabase.xml,

打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K 把它修改为你所需的大小即可。如:51200000(50M)

然后重启iis admin service服务。

wi7的解决办法

windows7有很多人已经用上了,喜欢鼓捣网站的想必也开了IIS用来调试自己的网站,但win7采用的是IIS7,界面和设置方法与XP、win2003大不相同,如何修改限制上传文件大小的问题就颇费周章,在网上搜索到的资料大多是针对XP和win2003的,win7中根本就没有metabase.xml这个文件。  有一篇文章说到:“双击“IIS”中的“ASP”– 打开“配置 ASP 应该程序的属性”–展开“限制属性”;修改“最大请求实体主体限制”的值,默认值为200000;把它修改为你想修改的大小”,我依样画瓢做完了,还是不行!无聊中研究一下网站后台的出错信息,其中提到了“请求筛选……”,桌面打开的““Internet 信息服务(IIS)管理器”里不就有一个“请求筛选”配置吗?打开看看,里面果然大有文章,点开“编辑功能设置”就可以看到这里还有“请求限制”,修改下面:“允许的最大内容长度”,默认是30M,随便改大一点,我改成300M,点击“确定”,重新启动IIS,再上传试试,50M、90M都可以了。

  总结一下前面的修改步骤,win7的IIS配置中打开200k上传限制要分两步:

一、从ASP配置中修改“最大请求实体主体限制”的值;

二、从“请求筛选”配置中修改“允许的最大内容长度”的值。这两个步骤应该是不分先后的。

  还有一篇文章说是这样修改的:打开系统所在分区的WindowsSystem32inetsrvconfigschema文件夹再用记事本打开 IIS_schema.xml 查找然后修改30000000这个数值。但我试验的结果不成功,以Administrator超级用户登陆来修改,保存时提示没有权限,该文件为只读的,始终无法修改文件属性,所以我个人认为这个办法不适合一般用户。下面是我每一个操作步骤的截图,有基础的一看就懂,看不懂的再结合文字说明吧。