使用uploadify控件上传大文件时,会出错:如http 404 错误等。
这个错误应该是上传没有成功,导致读取上传后的路径不存在造成的。
实际的原因还是因为没有能上传成功。
上传失败的原因有多种,我这里发现的情况初步判断是因为文件超过某个阀值造成的。
第一步:
查看控件本身大小限制:<script type="text/javascript">
$(document).ready(function () {
$("#file_upload").uploadify({
'buttonImage': '../js/uploadify/mtup.png',
'auto': true,
'successTimeout': 99999,
'swf': '../js/uploadify/uploadify.swf',
'queueID': 'uploadfileQueue',
'uploader': '../UpLoadHandler.ashx',
'width':'70',
'height':'25',
'fileSizeLimit':'488MB',
'progressData': 'speed',
'overrideEvents': ['onDialogClose'],
'fileTypeExts': '*.gif;*.jpg;*.png;*.apk',
'onSelectError': function (file, errorCode, errorMsg) {
alert("msg:" + errorCode + " , " + errorMsg);
switch (errorCode) {
....
break;
}
}
...
});
看到'fileSizeLimit':'488MB', 限制为488M。基本判断不是控件本身限制造成的。
第二步:查看网站本身限制
Web.config中:
<system.web>
<!--
设置 compilation debug="true" 可将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilation debug="false" targetFramework="4.0"/>
<!--控件上传文件的大小(单位KB) 这里设置为500M -->
<httpRuntime maxRequestLength="512000" executionTimeout="60"/>
限制大小为512000KB即500M,也不是网站本身限制造成的。
第三步:IIS限制
1、打开IIS管理器
2、双击“请求筛选”
3、点击右侧的“编辑功能设置”
4、显示允许的最大容量长度(字节),值为:”30000000“ ,即30M。
所以,原因就是IIS限制了30M,改为500000000即可,支持500M