.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': {}
在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的文件。这个要注意。