zoukankan      html  css  js  c++  java
  • 基于jquery.uploadify的asp.net大文件上传

         以前项目的上传都是十几兆的文件,虽然没有进度条,但客户端响应比较快,客户还能接受。在新项目中,客户提供的Excel,要求导入到系统中,但Excel偶尔会将近百兆,客户对上传的使用体验提出了要求。后来在园子里找了朋友写的博客,加上自己的整理,最终实现了基于asp.net的带进度条的百兆文件上传。

    在这里首先感谢两位园友,在这里附上参考的两位园友的博客。

        马维拉的真实之眼http://www.cnblogs.com/telephoner/p/3185081.html

        oec2003http://www.cnblogs.com/oec2003/archive/2010/01/06/1640027.html

    下面是我在两位朋友的基础上做的完善。

    1. webconfig的配置完善
      <?xml version="1.0"?>
      <configuration>
        <appSettings/>
        <connectionStrings/>
        <system.web>
          <httpRuntime executionTimeout="200000"
                   maxRequestLength="409600"
                   requestLengthDiskThreshold="80"
                   useFullyQualifiedRedirectUrl="false"
                   minFreeThreads="8"
                   minLocalRequestFreeThreads="4"
                   appRequestQueueLimit="5000"
                   enableKernelOutputCache="true"
                   enableVersionHeader="true"
                   requireRootedSaveAsPath="true"
                   enable="true"
                   shutdownTimeout="90"
                   delayNotificationTimeout="5"
                   waitChangeNotification="0"
                   maxWaitChangeNotification="0"
                   enableHeaderChecking="true"
                   sendCacheControlHeader="true"
                   apartmentThreading="false" />
      
       
          <compilation debug="true" targetFramework="4.0">
          </compilation>
          
          <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
        </system.web>
        <!-- 
              在 Internet 信息服务 7.0 下运行 ASP.NET AJAX 需要 system.webServer
              节。对早期版本的 IIS 来说则不需要此节。
          -->
        <system.webServer>
          <validation validateIntegratedModeConfiguration="false" />
          <modules runAllManagedModulesForAllRequests="true" />
          <security>
            <requestFiltering>
              <requestLimits maxAllowedContentLength="2147483647"></requestLimits>
            </requestFiltering>
          </security>
        </system.webServer>
      </configuration>
    2. 修改 $("#uploadify").uploadify实现动态传参
                  $("#uploadify").uploadify({
                      'uploader': 'jquery.uploadify-v2.1.0/uploadify.swf',
                      'script': 'UploadHandler.ashx',
                      'cancelImg': 'jquery.uploadify-v2.1.0/cancel.png',
                      'folder': 'UploadFile',
                      'queueID': 'fileQueue',
                      'auto': false,                             //设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传        
                      'multi': false,                           //设置为true时可以上传多个文件
                      'fileDesc': '请选择Excel(xls|xlsx)文件', //这个属性值必须设置fileExt属性后才有效,用来设置选择文件对话框中的提示文本
                      'fileExt': '*.xls;*.xlsx', //设置可以选择的文件的类型
                      //'buttonText': '请选择', //浏览按钮文本,默认值:BROWSE 
                      'hideButton': false, //是否隐藏浏览按钮
                      'scriptData': { 'jzyd': $('#DropDownListYear').val() + $('#DropDownMonth').val(), 'tablename': $('#Hidden1').text() }, //这里只能传静态参数  
                      'onSelect': function (event, queueID, fileObj) {
                          $("#uploadify").uploadifySettings("scriptData", { 'jzyd': $('#DropDownListYear').val() + $('#DropDownMonth').val(), 'tablename': $('#Hidden1').text() });
                      }  //动态更新配(执行此处时可获得值)
                  });
  • 相关阅读:
    MySQL解压版安装及使用
    bitmap海量数据的快速查找和去重
    docker折腾笔记
    #ST表,单调栈#洛谷 5648 Mivik的神力
    #矩阵树定理,高斯消元,容斥定理#洛谷 4336 [SHOI2016]黑暗前的幻想乡
    #割点,Tarjan#洛谷 5058 [ZJOI2004]嗅探器
    #树状数组#洛谷 5677 [GZOI2017]配对统计
    #2-sat,Tarjan#洛谷 4171 [JSOI2010]满汉全席
    #Splay#洛谷 1486 [NOI2004]郁闷的出纳员
    #扫描线,线段树#洛谷 3875 [TJOI2010]被污染的河流
  • 原文地址:https://www.cnblogs.com/XieDong/p/4539213.html
Copyright © 2011-2022 走看看