Win2008或IIS7的文件上传大小限制解决方案,修改IIS7/7.5配置——资料总结
Asp.Net MVC3 +uploadify 上传文件大小限制
.Net / 2012.04.26
0
真他妈一下午就光在弄这个了,uploadify总是显示Http Error用
'onError': function (event,queueId,fileObj,errorObj) {
alert(errorObj.info);
}
捕获了一下,显示404错误。
最后找到原因是IIS7把文件大小截获了。
解决方法:
1、打开IIS管理器,找到Default Web Site。先进行停止。
2、在IIS中双击“请求筛选”打开。
3、点击右边的“编辑功能设置”,打开“编辑请求筛选设置”对话框。
其中的允许的最大容量长度,默认是”30000000“,30M,将其修改为你所需要的大小即可。
4、启动IIS.
或者修改web.config <system.webServer>节点
<security>
<requestFiltering><!--500MB-->
<requestLimits maxAllowedContentLength="500000000" />
</requestFiltering>
</security>
顺便说一下uploadify的限制大小需要配置sizeLimit,如:
'sizeLimit': 500 * 1024 * 1024,
补充:后台接受文件如果包含参数请用'scriptData': {}
<!--
用于支持上传大文件,默认支持4M,现在修改为400M
httpRuntime是配置asp.net http运行时设置,以确定如何处理对asp.net应用程序的请求。
executionTimeout:表示允许执行请求的最大时间限制,单位为秒
maxRequestLength:指示 ASP.NET 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。
在Win2008里,打开IIS7,找到需要修改限制的网站,双击右侧“管理”下面的“配置编辑器”,在上面的“节”处,找到“system.webServer-->webdav-->asp”,这时,“节”处显示“system.webServer/asp”。
在下面,找到“Limits”,点击左边的加号,改变“bufferingLimit”和“maxRequestAntityAllowed”的值为“2000000000”(2G,最大值就是2G),改好后回车,点击右边栏顶部“操作”下面的“应用”。恭喜你,成功了!
——————————————————————————
下面是另外一种办法,麻烦一些,但也有效。
默认情况下,IIS7的上传限制为200K。当上传文件小于30M时,可以通过如下方法设置:
在iis7中找到asp设置,在“asp”的“限制属性”中最后一行“最大请求主体限制”,修改该值为你所想要的,如2G(2000000000,单位为B)。当上传文件要求大于30M时,继续如下修改:
1、停止IIS7
2、找到“C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml”文件。
这个文件是只读的,即使用管理员权限也不能修改。要先修改文件的权限,然后去掉只读属性才可以。
1.右键文件->属性->安全,选中目标用户,点击高级,修改文件所有者;
2.确定后点击编辑,就可以修改当前用户的权限了,添加“写入”权限。至此,权限设置OK了。
3.将文件的只读属性去掉。
用记事本打开该文件,找到“”,将“30000000”修改为你想要的值(如2000000000)保存。
将“C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml”文件加上只读属性。
启动IIS7。本人上传120M视频文件通过。
但是,win2008最大只能上传小于2G的文件。这个要注意。