设置IIS对上传附件大小的限制
一、找到修改大小的配置文件和配置节点
打开你系统盘(我是C盘),找到 C:\Windows\System32\inetsrv\config\schema目录,该目录下有一个IIS_schema.xml,右击打开文件,Ctrl+F,然后输入"
<attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000"
/>",找到该配置节点,我们看到有一个defaultValue=30000000,不错,就是它限制了上传文件的大小,既然找到了,那就让咱来把它修改掉吧,暂且把3改为5(50M左右)试试吧!Ctrl+S,弹出无法保存,文件是只读属性!那好吧,咱来把文件的只读属性改掉吧!右击—>属性—>去掉只读,保存!嘣,弹出了一个对话框,
提示没有权利修改文件属性,用的是管理员登录的,还没有权限,哎,权限问题!同样,我们这时想编辑administrator权限把修改和写入权限加上去同样会弹出上面没有权限的提示!
二、修改文件权限以便能修改文件
找到了修改的地方却不能修改,却碰到权限问题,而且就这个 权限问题还搞了我半天,郁闷啊!废话少说,继续工作吧!
右击文件—>属性—>安全,我们看看administrator权限
我们看到,administrator只有读取的权限,并没有写入和修改的权利,我们再看下面有个TrustedInstaller
我们发现该用户组却又这对当前这个文件的所有权限!百度看下,网上说从Vista到Windows 7系统开始,系统加入了TrustedInstaller虚拟帐目,权限比administrator还大,哎,不管它呢!现在我就要用administrator来修改文件。单击“高级”—>"所有者",如下:
当前所有者是"TrustedInstaller",我们要把它改为“administrator”,单击“编辑”,选择“administrator”,单击“应用”,这时弹出一个对话框,如下图:
不用管它,单击确定,这时,我们看当前文件的所有者变成administrator了,如下图:
操作完这一切了,我们回头想直接修改文件属性还是不够的,我们需要把我们administrator对文件的权限提升下,勾上“完全控制”,如下图:
单击确定保存就ok了!
三、修改配置文件
好了,我们现在有文件的完全控制权限了,我们先把文件的只读属性去掉,接下来修改大小就很简单,找到第一步讲的配置节点将大小修改为自己想要的大小,然后重启下IIS即可,经验证也是正确的!到现在对IIS对上传附件大小限制的修改也就完成了!
四、后续——将文件的权限还原
刚才我们将文件的所有者改为了administrator,现在我又想将文件的所有者还原,怎么办呢,按照老办法:右击—>属性—>安全—>高级—>所有者—>编辑—>其他用户或组,我们输入“TrustedInstaller”,检查名称却说找不到用户名和组,于是继续百度啊!原来全程应是“NT
SERVICE\TrustedInstaller”,检查名称果然正确了,然后确定—>确定……就这样,我们又把文件还原成修改前的权限啦,大功告成
一、IIS6 (2003操作系统)
2003 自带的IIS6.0默认限制上传大小限制为200K,下载限制为4M,因此出现上面的问题,解决如下:
1.先打开Internet 信息服务(IIS)管理器
(本地计算机 )---- 属性 ----允许直接编辑配置数据库(N)
一定要勾先“允许直接编辑配置数据库(N)”
2.然后在服务里关闭iis admin service服务,可用命令:iisreset/stop
3.找到windows\system32\inesrv\下的base.xml,用计事本打开base.xml,找到ASPMaxRequestEntityAllowed
把他修改为需要的值,默认为204800,即200K,把它修改为51200000(50M)
4.启动IIS,命令:iisreset/start
IIS 6 出于安全考虑, 默认最大请求200K(也即最大提交数据限额为200KByte, 204800Byte).
解决办法:
win2003上传大小限制的问题
解决办法:
1. 关闭 IIS Admin Service 服务 (开始-控制面板-管理工具-服务,找到IIS Admin Service 双击-停止)
2. 打开 C:>Windows>system32>inesrv>metabase.xml
3. 修改 SPMaxRequestEntityAllowed 的值为自己需要的, 默认为 204800
4. 启动 IIS Admin Service
win2003下载大小限制的问题
在 IIS 6.0 中,无法下载超过4M的附件时,可以按以下步骤解决:
1、先在服务里关闭 iis admin service 服务。
2、找到 C:>Windows>system32>inesrv> 下的 metabase.xml 文件。
3、用纯文本方式打开,找到 AspBufferingLimit 把它修改为需要的值(可修改为20M即:20480000)。
4、存盘,然后重启 iis admin service 服务。
二、IIS7 (2008操作系统)
IIS管理器修改方法:
打开IIS管理器–双击“IIS”中的“ASP”– 打开“配置 ASP 应该程序的属性”–展开“限制属性”;
修改“最大请求实体主体限制”的值,默认值为200000(即不到200KB);
把它修改为你想修改的大小,如:1024000000(1GB)。
修改完成点击“应用”即可!
手工修改config方法:
1、首先要设置修改此文件的权限,右键属性,权限中进行修改。
2、C\windows\System32\inetsrv\config\schema
用记事本打开 IIS_schema.xml
查找 <attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000"
/>
3000000默认为30MB(不完全等于) 。加一个0 就是 300MB 。根据需要自己进行修改(1M=1024kB)。重启iis
注:停止IIS服务命令iisreset/stop 启动IIS命令iisreset/start 重启IIS命令iisreset.
三、不支持FSO的问题解决 (2003操作系统)
1、首先在系统盘中查找scrrun.dll,如果存在这个文件,请跳到第三步,如果没有,请执行第二步。
2、在安装文件目录i386中找到scrrun.dl_,用winrar解压缩,得scrrun.dll,然后复制到x(你的系统盘):windowssystem32目录中。
3、运行regsvr32 scrrun.dll即可。