使用uploadify控制元件上傳大檔案錯誤處理記錄
阿新 • • 發佈:2018-11-04
使用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。
-->
<!--控制元件上傳檔案的大小(單位KB) 這裡設定為500M -->
<httpRuntime maxRequestLength="512000" executionTimeout="60"/>
限制大小為512000KB即500M,也不是網站本身限制造成的。
第三步:IIS限制
1、開啟IIS管理器
2、雙擊“請求篩選”
3、點選右側的“編輯功能設定”
4、顯示允許的最大容量長度(位元組),值為:”30000000“ ,即30M。
所以,原因就是IIS限制了30M,改為500000000即可,支援500M