当前位置:编程学习 > C#/ASP.NET >>

NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes

最近在网上找了NeatUpload 上传大文件,突然发现普通的fileupload上传超过4M的文件全部出错了

网上找了处理方案!!但是一直未能处理好! 求高手解决!

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>


--------------------编程问答-------------------- 错误截图:


--------------------编程问答-------------------- 8、解决在Windows 2003的 IIS 6.0 中无法上传超过200K的附件以及无法下载超过4M的附件问题 
在 IIS 6.0 中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。(在 IIS 6.0 之前的版本中无此限制)

解决办法:
1、先在服务里关闭 iis admin service 服务。
2、找到 windows\system32\inetsrv\ 下的 metabase.xml 文件。
3、用纯文本方式打开,找到 ASPMaxRequestEntityAllowed 把它修改为需要的值(可修改为10M即:10240000),默认为:204800,即:200K。
4、存盘,然后重启 iis admin service 服务。


在 IIS 6.0 中,无法下载超过4M的附件时,可以按以下步骤解决:
1、先在服务里关闭 iis admin service 服务。
2、找到 windows\system32\inetsrv\ 下的 metabase.xml 文件。
3、用纯文本方式打开,找到 AspBufferingLimit 把它修改为需要的值(可修改为20M即:20480000)。
4、存盘,然后重启 iis admin service 服务。 


这个可以试试 --------------------编程问答--------------------
引用 楼主 woshilaihua 的回复:
最近在网上找了NeatUpload 上传大文件,突然发现普通的fileupload上传超过4M的文件全部出错了

网上找了处理方案!!但是一直未能处理好! 求高手解决!

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>
NeatUpload 是使用Flash开发的文件上传控件。Flash控件的上传文件方式和HTML一样。一次性将超大文件全部传到服务器中。这种方式上传小文件还行,上传大文件会100%导致Web服务器出现错误。建议用专门的HTTP断点续传控件。 --------------------编程问答--------------------
引用 楼主 woshilaihua 的回复:
最近在网上找了NeatUpload 上传大文件,突然发现普通的fileupload上传超过4M的文件全部出错了

网上找了处理方案!!但是一直未能处理好! 求高手解决!

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>
Flash方式上传大文件,只适合局域网项目,不适合互联网项目。它的原理和普通HTML方式上传是一样的。你看看使用普通HTML方式上传能够传多大的文件,Flash也就只能传多大的文件。

你可以了解一下QQ邮箱中的大附件上传控件,DBank(华为网盘),百度网盘,360云盘,115网盘他们的上传控件都是专门开发的控件。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,