日期:2014-05-20  浏览次数:20429 次

急等。。。使用FileUpload控件上传文件,文件大小是不是有限制啊?
使用FileUpload控件上传文件,文件大小是不是有限制啊?
我的后台代码就一句:
this.FileUpload1.PostedFile.SaveAs(Server.MapPath("publications") + "\\" + fileName);

但是我上传小文件时,没问题;上传大文件时(比如10MB)就会出现如下错误:
  
Internet Explorer 无法显示该页面

您可以尝试以下操作:
诊断连接问题

更多信息
 


------解决方案--------------------
.net默认上传限制是4M, 超过则要在web.config中配置:

<httpRuntime
executionTimeout="300"
maxRequestLength="40960"
useFullyQualifiedRedirectUrl="false"/>

---在google上百度一下得来
------解决方案--------------------
可能是你的节点的位置错了吧,我记得应该加在根节点外面的。
反正是跟<httpHandlers>同一级节点。
或者看看你结束符 “/ ”有没加- - 。

对于页面无法显示的问题,2楼说的是对的。
<httpRuntime executionTimeout="90" maxRequestLength="40960" appRequestQueueLimit="100"/>
这个节点是.net默认的。
executionTimeout 是上传的等待时间。单位是秒
maxRequestLength 是上传的文件大小。单位是KB
appRequestQueueLimit 是当多人下载的时候排队人数的限制。100人是默认的 

没有最大的文件限制,你可以按照自己需要设置,不过一个系统一般都有防止恶意上传,设置太大的话,当上传大文件时有时会被当成恶意文件。- -。

------解决方案--------------------
忘了很不爽,去查了一下,确切的跟你说是在<configuration>和</configuration>里加。
只要在他下一级就好了。
(所有的配置节点都要在的configuration节点里)
正好看到了httpruntime的属性了。
也顺便复制过来给你做个参考

属性选项说明:

appRequestQueueLimit

ASP.NET 将为应用程序排队的请求的最大数目。当没有足够的自由线程来处理请求时,将对请求进行排队。当队列超出了该设置中指定的限制时,将通过“503 - 服务器太忙”错误信息拒绝传入的请求。

executionTimeout

执行应用程序请求的时间限制。超时 ASP.NET 自动关闭,单位秒。

enable

指定是否在当前的节点及子节点级别启用应用程序域。默认值为 true。
true:指定启用应用程序域。
false:指定禁用应用程序域。应用程序将不会在内存中加载,任何客户端请求将导致出现错误号为 404 的错误。

idleTimeOut

指定应用程序域在经过多长的空闲时间后将予以关闭。默认值为 20 分钟。

enableKernelModeCache
  
指定是否启用输出缓存。目前,该属性只有在安装 IIS 6.0 版或更高版本之后才起相应的作用。输出缓存的配置和请求的类型决定了是否对内容进行缓存。

若要对响应进行缓存,必须满足以下条件:

· 必须通过页面指令或使用缓存 API 显式启用缓存。

· 缓存必须具有过期策略,以便内核知道何时放弃缓存。

· 缓存不能有任何变量标头或参数。

· 请求不能要求进行任何身份验证。 


true:指定启用缓存。 
false:指定禁用缓存。 

maxRequestLength

指示 ASP.NET 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。

minFreeLocalRequestFreeThreads

ASP.NET 保持的允许执行新本地请求的自由线程的最小数目。该线程数目是为从本地主机传入的请求而保留的,以防某些请求在其处理期间发出对本地主机的子请求。这避免了可能的因递归重新进入 Web 服务器而导致的死锁。

minFreeThreads

允许执行新请求的自由线程的最小数目。ASP.NET 为要求附加线程来完成其处理的请求使这些线程保持自由状态。

useFullyQualifiedRedirectUrl

指示客户端重定向是否是完全限定的(采用 {HYPERLINK "http://server/path" } 格式,这是某些移动控件所必需的),或者指示是否代之以将相对重定向发送到客户端。
true:指定客户端重定向需要以完全限定的格式发送。这是通过自动将不是完全限定的格式的所有重定向转换为 完全限定的格式来实现的。
false :指定客户端重定向不需要被自动转换为完全限定格式。false 是默认选项。

versionHeader

指定 ASP.NET 随每个响应所发送的版本头的值。Microsoft Visual Studio .NET 使用该属性来确定当前使用的 ASP.NET 版本。这对产品环境来说不是必需的,并且可以通过从 Web.config 或 Machine.config 移除该属性,或将该属性设置为空字符串 (versionHeader="") 来将其禁用。


------解决方案--------------------
<system.web>
<httpRuntime executionTimeout="180" maxRequestLength="512000" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/>
</system.web>