使用uploadify上传大文件报 IO error #2038错误的解决方案

时间:2022-08-28 09:40:52

原文地址:http://www.cnblogs.com/bugzone/p/uploadify.html

使用uploadify上传大文件报 IO error #2038错误的解决方案

一.问题说明:

    目前正在处理一个项目,需要上传视频文件,大小限制在100M以内。使用uploadify来上传视频,上传十几兆的视频能正常上传,但是上传四五十的文件就会报IO error #2038错误。

          错误截图:

    使用uploadify上传大文件报 IO error #2038错误的解决方案

二.解决办法:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$( "#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 添加如下代码,控制上传大小。

1
2
3
<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中双击“请求筛选”打开。

 

      使用uploadify上传大文件报 IO error #2038错误的解决方案

            2).点击右边的“编辑功能设置”,打开“编辑请求筛选设置”对话框。其中的允许的最大容量长度,默认是”30000000“,30M,将其修改为你所需要的大小即可。然后 启动IIS。

      使用uploadify上传大文件报 IO error #2038错误的解决方案

三.问题解决

      使用uploadify上传大文件报 IO error #2038错误的解决方案