mvc中使用uploadify 无法上传大文件 提示超过长度

问题描述

mvc中使用uploadify 无法上传大文件 提示超过长度

我使用uploadify上传 修改的配置文件可是还是无法上传超过4M的文件
view代码

  <link href="~/Scripts/jquery.uploadify-v2.1.0/default.css"  rel="stylesheet" type="text/css" />
    <link href="~/Scripts/jquery.uploadify-v2.1.0/uploadify.css" rel="stylesheet" type="text/css" />

    <script type="text/javascript" src="~/Scripts/JQuery/jquery-1.8.0.min.js"></script>

    <script type="text/javascript" src="~/Scripts/jquery.uploadify-v2.1.0/swfobject.js"></script>

    <script type="text/javascript" src="~/Scripts/jquery.uploadify-v2.1.0/jquery.uploadify.min.js"></script>

    <script type="text/javascript">
        function flashChecker() {
            var hasFlash = 0;    //是否安装了flash
            var flashVersion = 0;  //flash版本

            if (document.all) {
                var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
                if (swf) {
                    hasFlash = 1;
                    VSwf = swf.GetVariable("$version");
                    flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]);
                }
            } else {
                if (navigator.plugins && navigator.plugins.length > 0) {
                    var swf = navigator.plugins["Shockwave Flash"];
                    if (swf) {
                        hasFlash = 1;
                        var words = swf.description.split(" ");
                        for (var i = 0; i < words.length; ++i) {
                            if (isNaN(parseInt(words[i]))) continue;
                            flashVersion = parseInt(words[i]);
                        }
                    }
                }
            }
            return { f: hasFlash, v: flashVersion };
        }

        var fls = flashChecker();
        var s = "";
        //if (fls.f) document.write("您安装了flash,当前flash版本为: " + fls.v + ".x");
        //else document.write("您没有安装flash");
        $(document).ready(function () {
            $("#uploadFile").uploadify({
                /*注意前面需要书写path的代码*/
                'swf': '../../Scripts/jquery.uploadify-v2.1.0/uploadify.swf',
                'uploader': '/Base/uploadhandler', //请求的Action
                'cancelImg': '../../Scripts/Scripts/jquery.uploadify-v2.1.0/cancel.png',
                'method': 'get',
                'queueID': 'fileQueue', //和存放队列的DIV的id一致
                'fileObjName': 'uploadFile',//和input的name属性值保持一致就好,Struts2就能处理了
                'auto': true, //是否自动开始
                'multi': true, //是否支持多文件上传
                'buttonText': '上传', //按钮上的文字
                'simUploadLimit': 1, //一次同步上传的文件数目
                'sizeLimit': 100 * 1024 * 1024, //设置单个文件大小限制
                //          'fileDesc'     : '支持格式:jpg/gif/jpeg/png/bmp.', //如果配置了以下的'fileExt'属性,那么这个属性是必须的
                //          'fileExt'       : '*.jpg;*.gif;*.jpeg;*.png;*.bmp',//允许的格式
                'queueSizeLimit': 5, //限制在一次队列中的次数(可选定几个文件)。默认值= 999,而一次可传几个文件有 simUploadLimit属性决定。
                'fileSizeLimit': 100 * 1024 * 1024, //设置单个文件大小限制,单位为byte ,100M
                'removeCompleted': true,
                'removeTimeout': 0.5,
                'requeueErrors': true,

                'onUploadComplete': function (file) {
                    //  $("#result").append("<div>文件"+file.name+"上传成功!</div><br/>");
                },
                'onUploadSuccess': function (file, data, response) {
                    if ($("#hidFile").val() == "") {
                        $("#hidFile").val(data);
                        $("#showFile").text(data);
                    } else {
                        $("#hidFile").val($("#hidFile").val() + "|" + data + "");
                        $("#showFile").text($("#showFile").text() + ";" + data + "");
                    }
                },
                'onUploadError': function (file, errorCode, errorMsg, errorString, swfuploadifyQueue) {
                    $("#result").html(errorString);
                },
            });

        });
    </script>
</head>
<body class="easyui-layout">

    <div class="item2 mt15">
        <span class="reg-tit3">上传附件:</span>
        <div class="reg-inf">
            <input type="file" name="uploadFile" id="uploadFile" class="pub-btn" />
            <div id="fileQueue"></div>
            @*<a href="javascript:$('#uploadFile').uploadify('upload','*')">上传文件</a>
                <a href="javascript:$('#uploadFile').uploadify('cancel', '*')">取消所有上传</a>*@
        </div>
        <label id="showFile" name="showFile"></label>
    </div>
    <div class="fl ml158 mt5 f12 gray0">最多可添加5个附件,单个文件大小不得超出10M,<br>可上传文件格式:pdf、doc、docx、xls、ppt、wps、zip、rar、txt、jpg、jpeg、gif、bmp、swf、png、lsp;</div>
</body>

controller 代码


        public string UploadHandler()
        {
            HttpPostedFileBase file = Request.Files["uploadFile"];
            if (file != null)
            {
                string path = Server.MapPath("~/UploadFile");
                string pathWjj = System.DateTime.Now.ToString("yyyyMMdd");
                string root = path + "/" + pathWjj;
                if (!Directory.Exists(root))
                {
                    Directory.CreateDirectory(root);
                }
                file.SaveAs(root + "/" + file.FileName);
                return pathWjj + "/" + file.FileName;
            }
            else
            {
                return "0";
            }
        }

配置文件

 <system.web>
    <httpRuntime maxRequestLength="40960"
    executionTimeout="6000"
    />
  </system.web>
     <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
    <security >
      <requestFiltering>
        <requestLimits maxAllowedContentLength="40960"></requestLimits>

      </requestFiltering>
    </security>

  </system.webServer>

解决方案

配置里最大允许长度可以商榷。

解决方案二:

你配置里不是可以设置最大允许长度吗

解决方案三:

requestLimits maxAllowedContentLength的单位是byte,不是kb,改成40960000试一下。

解决方案四:

服务器端也要配置过,默认.net上传的文件大小就是4M

修改web.config maxRequestLength配置,单位为kb,修改为409600(100M)

 <httpRuntime executionTimeout="720" maxRequestLength="409600" />
时间: 2024-10-26 05:32:43

mvc中使用uploadify 无法上传大文件 提示超过长度的相关文章

Java中使用WebUploader插件上传大文件单文件和多文件的方法小结_java

一.使用webuploader插件的原因说明 被现在做的项目坑了. 先说一下我的项目架构spring+struts2+mybatis+MySQL 然后呢.之前说好的按照2G上传就可以了,于是乎,用了ajaxFileUpload插件,因为之前用图片上传也是用这个,所以上传附件的时候就直接拿来用了 各种码代码,测试也测过了,2G文件上传没问题,坑来了,项目上线后,客户又要求上传4G文件,甚至还有20G以上的..纳尼,你不早说哦... 在IE11下用ajaxFileUpload.js插件上传超过4G的

Uploadify上传大文件以及Http error 404 解决方案

之前使用Uploadify做了一个上传图片并预览的功能,今天在项目中,要使用该插件上传大文件.之前弄过上传图片的demo,就使用该demo进行测试.可以查看我的这篇文章:[Asp.net]Uploadify所有配置说明,常见bug问题分析. 大文件上传 第一步:修改uploadify参数 1             'fileSizeLimit': '0',//单个文件大小,0为无限制,可接受KB,MB,GB等单位的字符串值 2             'fileTypeDesc': '文件',

在asp.net中如何上传大文件

在asp.net中如何上传大文件呢?我们需要配置Web.config文件.具体如下: 在web.config中的<system.web></system.web>内加入如下代码: <httpRuntime executi maxRequestLength="951200" useFullyQualifiedRedirectUrl="true" minFreeThreads="8" minLocalRequestFre

php中使用jquery uploadify 无法上传视频文件问题

问题描述 php中使用jquery uploadify 无法上传视频文件问题 快疯掉了 同样的代码上传图片打印出来就有数据没问题 但是我改成视频 就会这样 希望能解答一下 跪谢 解决方案 我刚发表了一篇此类文章. 你是用的集成软件还是自己搭的环境? 我是nginx服务器上修改的php.ini除了重启服务器之外还要重启fastcig进程管理器php-fpm 解决方案二: 估计跟视频的大小相关. 打印phpinfo 查看upload_max_filesize和post_max_size 解决方案三:

RadUpload.Net2上传大文件,本地运行上传可以,但是部署到IIS中不行

问题描述 RadUpload.Net2上传大文件,本地运行上传可以,但是部署到IIS中不行 解决方案 解决方案二:应该是权限问题,IIS是无权访问WINDOWS目录的解决方案三:好像不是这个问题,我设置权限后还是报这个错解决方案四:引用1楼rtdb的回复: 应该是权限问题,IIS是无权访问WINDOWS目录的 好像不是这个问题,我设置权限后还是报这个错

解决windows服务器中iis7上传大文件限制问题

原来的项目迁移至IIS7, 出现了个问题,原来有个上传大文件的功能,现在突然不能用了, 上传了一会儿会提示404错误-_-|||, 上网查了一下,发现原来是IIS7默认设置限制上传大小的原因. 方法一 在IIS7下,即便你在web.config设置了maxRequestLength="1048576"最大允许上传的大小,也是没用的,其实是受C:/Windows/System32/inetsrv/config/applicationHost.config的限制, 默认最大只能上传30M的

php上传大文件失败的解决办法

昨天一做php开发的网友问我为什么上传大文件总是失败,但是上传小文件就没有问题.作者一时半会儿也不知道什么原因,遂网上搜搜帮其分析原因,看到一篇很不错的关于php上传大文件失败的各种原因的总结以及各种解决办法的,于是转来与大家分享之.    下面分别是各种原因以及解决办法 (1)文件上传时存放文件的临时目录必须是开启的并且是 PHP 进程所有者用户可写的目录.如果未指定则 PHP 使用系统默认值. php.ini文件中upload_tmp_dir用来说明PHP上传的文件放置的临时目录,要想上传文

ASP.NET上传大文件控件

asp.net|控件|上传 这段时间写了个asp.net 上传大文件控件.经过测试,在ie中可显示进度条.特此共享,望广大网友多提意见. 大文件上传控件(包含进度条) 使用说明如下:      <summary>     上传进度条控件     </summary>     <example>     Web.config 配置     <?xml version="1.0"?>    <configuration>     

asp.net 上传大文件解决方案

asp.net|解决|上传 这次在项目中,用到了大文件上传,要上传的文件有100多m,于是研究现在国内使用的大文件上传的组件发现用的比较多的有两个控件AspnetUpload 2.0和Lion.Web.UpLoadModule,另外还有思归在它的博客堂中所说的办法 http://blog.joycode.com/saucer/archive/2004/03/16/16225.aspx   两个控件的方法是:利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityB