今天遇到一个问题,就是“NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误”,百度后发现了一个解决方法,跟大家分享下:

NeatUpload是一个开源的大文件上传控件,非常的强大,支持文件类型过滤、上传进度条显示、多文件上传等强大的功能。

但部署至项目后,有些地方用普通的FileUpload上传时却发生了一个错误(Nonfile portion > 4194304 bytes,文件大于默认值4M),因如果用NeatUpload控件及需要显示上传进度条的话,得在web.config中加入如下代码:

<httpModules>
                       <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload"/>

</httpModules>

这时全站都会默认使用此httpModule,当你使用FileUpload上传文件时,只要是超过4M(默认的)的都不能上传,就算你配置了<httpRuntime maxRequestLength="400000" executionTimeout="3600"/>都没用,还是会出现Nonfile portion > 4194304 bytes的错误的。

解决方法如下:

1、在<configuration>里面加入以下代码:

<configSections>
                           <sectionGroup name="system.web">
                                    <section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />
                           </sectionGroup>
                </configSections>

2、在<system.web>节中插入以下代码(此方式是全局性的,第3种为针对某页面):

<neatUpload useHttpModule="true" maxNormalRequestLength="40960" maxRequestLength="2097151" defaultProvider="FilesystemUploadStorageProvider">
                        <providers>
                              <add name="FilesystemUploadStorageProvider" type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"/>
                       </providers>
              </neatUpload>

此方法是修改属性maxNormalRequestLength的值为40960(40M),如果将useHttpModule改为false则无所谓。

3、在<configuration>里面的后面位置加入以下代码(此方式是针对某一页面):

<location path="UploadFile.aspx" ><!--上传文件的页面路径-->
                       <system.web>
                              <neatUpload useHttpModule="true" />  <!--为true则代表使用neatUpload的httpModule,false为不使用-->
                              <httpRuntime maxRequestLength="40960" executionTimeout="3600" useFullyQualifiedRedirectUrl="true" />  <!--允许最大为40M-->
                      </system.web>
               </location>

neatUpload节点的相关属性介绍如下:

<neatUpload 
              useHttpModule="true or false, defaults to true"
              maxNormalRequestLength="up to 2097151 in KBytes, defaults to 4096" 
              maxRequestLength="up to 2097151 in KBytes, defaults to 2097151" 
              maxUploadRate="rate in KBytes/sec, defaults to -1 which means unlimited"
              postBackIDQueryParam="parameter name, defaults to NeatUpload_PostBackID"
              multiRequestUploadHandlerUrl="URL that handles the requests in a multi-request upload,defaults to ~/NeatUpload/MultiRequestUploadHandler.ashx"
              debugDirectory="directory to which debug info should be written, defaults to none"
              decryption="name of the SymmetricAlgorithm to use to encrypt/decrypt protected data, defaults to .NET default algorithm used by SymmetricAlgorithm.Create()"
              validation="name of the HashAlgorithm to use to validate protected data, defaults to .NET default algorithm used by HashAlgorithm.Create()"
              decryptionKey="32 hex-digit key used to encrypt/decrypt protected data, defaults to auto-generated for each app instance"
              stateMergeIntervalSeconds="secs between merges of the current and stored upload states,defaults to 1"
              stateStaleAfterSeconds="secs before an unchanged upload state can be removed from the store, defaults to 60"
              defaultStorageProvider="friendly name,defaults to a FilesystemUploadStorageProvider with default temp dir"
              defaultStateStoreProvider="friendly name, defaults to a AdaptiveUploadStateStoreProvider"
        >
              <providers>
                   <add name="friendly name"  type="type derived from Brettle.Web.NeatUpload.UploadStorageProvider" />
             </providers>
     </neatUpload>

本来来自:http://blog.csdn.net/fgdfgasd/article/details/7108973

分享给遇到同样问题的朋友。

因用了NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误的解决方法的更多相关文章

  1. vue大文件上传控件选哪个好?

    需求: 项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在20G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以20G来进行限制. PC端全平台支持,要求支持Window ...

  2. 绝对好用Flash多文件大文件上传控件

    本实例采用的是Uploadify上传插件,.NET程序,源程序是从网上找的,但是有Bug,已经修改好,并标有部分注释.绝对好用,支持单文件.多文件上传,支持大文件上传,已经过多方面测试,保证好用. 以 ...

  3. 大文件上传控件webupload插件

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  4. vue+大文件上传控件

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...

  5. Web大文件上传控件-asp.net-bug修复-Xproer.HttpUploader6.2

    版权所有 2009-2016荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  6. Web大文件上传控件-bug修复-Xproer.HttpUploader6

    1.修复上传文件夹时,文件夹大小可能不正确的问题.这个问题是由于以MD5模式上传时没有更新文件夹总大小导致.   更新fd_complete.aspx   更新DBFile.cs-fd_complet ...

  7. web大文件上传控件-监控fd_create流程-Xproer.HttpUploader6

      监控fd_create流程 1.打开ie,f12 2.启动网络监控 点击开始捕获 上传文件夹,然后查看监控 将监控信息转到详细视图

  8. web大文件上传控件-监控f_create流程-Xproer.HttpUploader6

    监控f_create流程 1.打开ie,f12 2.启动网络监控 点击开始捕获 上传文件,然后查看监控 将监控信息转到详细视图 向f_create提交的数据 f_create返回值

  9. web大文件上传控件-设置附加参数-Xproer.HttpUploader6

    自定义附加字段在up6.js中定义,也可以不用定义: 注意: 1.附加字段必须是字符串类型. 2.如果附加字段的值包含中文,在上传前必须使用encodeURIComponent进行编码.     在引 ...

随机推荐

  1. 40页PPT勾画“互联网颠覆性思维”----诠释互联网思维

    本文PPT内容涉及移动互联网的三个分支——移动电商.在线教育和新媒体. 不同领域一直是可以相互借鉴.相互渗透.相互学习的,在盈利模式和思维方式上有很多是共通的.  

  2. vlc android 移植版编译

    同步发表于http://avenwu.net/2015/07/27/vlc-android-compiling 安装必备工具/解决环境问题 环境准备什么的如果没配置过需要一步步配置,主要是sdk/nd ...

  3. CentOS 6.5 EasyPR环境搭建

    EasyPR是一款开源的中文车牌识别系统,项目地址. 在搭建的过程中,主要的问题是注意版本的兼容性,这里面的版本包括:opencv版本,g++版本以及cmake版本. 我使用的EasyPr版本信息如下 ...

  4. 关于 Redis 访问安全性的问题

    升级版本 3.0.2 版本升级到 redis-3.2.0 版本远程无法访问,比较配置文件有些变化,比如默认只能本地的机器才能访问 3.0.2 版本 # By default Redis listens ...

  5. windows原生开发之界面疑云

        windows桌面开发,界面始终是最大的困惑.我们对前端工具的要求,其实只有窗体设计器.消息映射,过分点的话自适应屏幕.模型绑定.能够免于手工书写,其实这个问题并不复杂,但VS不实现.QT语法 ...

  6. 通过PowerShell发送TCP请求

    很多时候我们需要通过Socket发送特定的TCP请求给服务器的特定端口来实现探测服务器的指定端口所开启的服务.很多语言都有相应的方法实现上述需求,当然,PowerShell也不例外,比如我们要发送一个 ...

  7. 安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误

    安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误 这个错误几个月以前解决过一次,但是到又碰到的时候,竟然完全忘记当时怎么解决的了, 看来上了年纪记忆真是越来越不行了... 解决方案很简单 ...

  8. 解决tomcat启动Socket监听端口死循环被hold问题

    原文链接:http://blog.csdn.net/dead_cicle/article/details/7073433 1.SOCKET监听置于servlet的init方法中,在web.xml里加入 ...

  9. Spark1.0新特性-->Spark SQL

    Spark1.0出来了,变化还是挺大的,文档比以前齐全了,RDD支持的操作比以前多了一些,Spark on yarn功能我居然跑通了.但是最最重要的就是多了一个Spark SQL的功能,它能对RDD进 ...

  10. C++中实现回调机制的几种方式[转]

      (1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型. 比如下面的示例代码,我们在Do ...