191145685 发表于 2017-12-28 18:40:52

解决asp.net上传文件时文件太大导致的错误

  即使在web.config中添加了节点和设置依然是不行的,还是报文件太大的错误,
  <httpModules>
  <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload"/>
  </httpModules>
  <httpRuntime executionTimeout="6000000000" maxRequestLength="900000000" useFullyQualifiedRedirectUrl="true" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true" maxQueryStringLength="10240"/>
  解决方法需要做到以下三个才能解决问题:
  1:在web.config文件中,的configuration节点下的第一个节点添加如下节点:

view plain copy
print?https://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]<configuration>
[*]<!--解决上传文件太大的错误 -->
[*]<configSections>
[*]    <sectionGroup name="system.web">
[*]      <section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />
[*]    </sectionGroup>
[*]</configSections>
  

<configuration>  
<!--解决上传文件太大的错误 -->
  
<configSections>
  
<sectionGroup name="system.web">
  
<section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />
  
</sectionGroup>
  
</configSections>
  

  2:在web.config文件下的system.web的节点下添加如下节点

view plain copy
print?https://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]<system.web>
[*]<neatUpload useHttpModule="false" maxNormalRequestLength="40960000" maxRequestLength="20971510000" defaultProvider="FilesystemUploadStorageProvider">
[*]    <providers>
[*]      <add name="FilesystemUploadStorageProvider" type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"/>
[*]    </providers>
[*]</neatUpload>
  

<system.web>  
<neatUpload useHttpModule="false" maxNormalRequestLength="40960000" maxRequestLength="20971510000" defaultProvider="FilesystemUploadStorageProvider">
  
<providers>
  
<add name="FilesystemUploadStorageProvider" type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"/>
  
</providers>
  
</neatUpload>
  

  3:这个时候你会发现本地是可以上传成功了,但是在IIS上依旧不行,你需要在IIS中去设置IIS的上传大小,设置方法如下:
  修改IIS的applicationhost.config
  文件位置: %windir%/system32/inetsrv/config/applicationhost.config
  找到<requestFiltering>节点,注意requestFiltering节点默认下面是没有requestLimits 节点的,你需要添加如下节点,当然,如果节点已经存在,则只需修改
  为这个节点添加如下元素:
  <requestLimits maxAllowedContentLength="2147483647" />(上传的大小将改为2G)
  这个时候你会发现已经OK了。
  注意:在除了修改IIS文件的办法,修改配置文件也可以,亲身体验过:

view plain copy
print?https://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]<system.webServer>
[*]<security>
[*]    <requestFiltering>
[*]      <requestLimits maxQueryString="10240" maxAllowedContentLength="2147483647" />
[*]    </requestFiltering>
[*]</security>
  

<system.webServer>  
<security>
  
<requestFiltering>
  
<requestLimits maxQueryString="10240" maxAllowedContentLength="2147483647" />
  
</requestFiltering>
  
</security>
页: [1]
查看完整版本: 解决asp.net上传文件时文件太大导致的错误