使用uploadify上傳大文件報 IO error #2038錯誤的解決方案


一.問題說明:

    目前正在處理一個項目,需要上傳視頻文件,大小限制在100M以內。使用uploadify來上傳視頻,上傳十幾兆的視頻能正常上傳,但是上傳四五十的文件就會報IO error #2038錯誤。

          錯誤截圖:

   

二.解決辦法:

    1.使用uploadify的javascript核心代碼如下:

$("#uploadify").uploadify({
                'uploader': '@Url.Content("../Content/uploadify/uploadify.swf")',
                'script': '@Url.Content("../Content/uploadify/UploadHandler.ashx")',
              //  'scriptData': { 'fname': fname },//帶參數
                'cancelImg': '@Url.Content("../Content/uploadify/cancel.png")',
                'folder': '@Url.Content("~/Models/Video/movies")',
                'queueID': 'fileQueue',
                'method': "get",
                'removeCompleted':false,
                'auto': true,//自動上傳
                'preventCaching':true,
                'multi': false,
                'buttonText': "瀏覽並上傳作品",
                'fileExt': "*.flv;*.mp4;*.mpeg;*.mov;*.wmv;*.avi;*.swf",//限制上傳格式
                'fileDesc': "*.flv;*.mp4;*.mpeg;*.mov;*.wmv;*.avi;*.swf",
                'sizeLimit': 102400000,//限制大小
                'onComplete': function (event, queueID, fileObj, response, data) {
                    if (response != null) {
                        if (response == "0") {
                            $.messager.alert('溫馨提示', '視頻格式不符合參賽要求,請選擇格式為avi、mp4、mov、flv、mpeg、wmv、flash等格式的視頻作品!');
                        } else {
                            $.messager.alert("溫馨提示", "作品已成功上傳,請點擊確定保存作品相關信息");
                            $("#path").val(response);
                        }
                    } else
                    {
                        $.messager.alert("溫馨提示", "后台未返回正常參數,請確認是否上傳");
                    }
                },
                'onError': function (event, queueID, fileObj, errorObj) {
                    alert(errorObj.type + "Error:" + errorObj.info);
                }


            });

  2.web.config 添加如下代碼,控制上傳大小。

<system.web>
    <httpRuntime requestValidationMode="4.0" maxRequestLength="102400000" executionTimeout="110" 
</system.web>

  3.上面1,2步驟我們都是在程序中限制上傳大小,但是服務器IIS7版本下上傳文件大小默認是30M以內,所以項目部署后,最終我們程序上傳超過30M還是會報錯IO error #2038錯誤,下面來修改IIS上傳限制大小。 

         1).打開IIS管理器,找到Default Web Site。先進行停止。然后 在IIS中雙擊“請求篩選”打開。

 

      

            2).點擊右邊的“編輯功能設置”,打開“編輯請求篩選設置”對話框。其中的允許的最大容量長度,默認是”30000000“,30M,將其修改為你所需要的大小即可。然后 啟動IIS。

     

三.問題解決

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM