在用File控件上传文件时,发现上传一两兆的文件都没有问题,而上传十兆以上的文件就会显示“无法显示网页”,可是程序中已经设置了如果上传失败,就弹出对话框显示失败原因,百思不得其解,请高人指点!
解决方案 »
- 本机可以通过IIS访问本机网站,但是其他机器就访问不了,原因在哪里?
- 时间转换,每周一问
- 在datalist中放了一个隐藏的input,c#中应该怎样发现这个控件?
- 交叉表,列数非常多(列数不一定)的情况该如何处理
- Visual Studio 2008 有多少人知道?
- 请问一下一般发文章用的那种选颜色选大小的 要怎么弄呀 是叫什么来着
- 在VS.NET2003中遇到与SQL Server连接的问题,困扰小弟一天了。大家帮忙看看,谢了先!
- 一个datagrid的简单问题
- 谁有在datalist中嵌套datalist的例子啊
- 为什么分页位置不同时,显示效果不一样?
- FCKeditor控件是否支持多语言版本?怎么在多个版本间切换?
- 怎样清空DataGrid 数据控件中的数据?
maxRequestLength="size in kbytes" //修改这里
executionTimeout="seconds"
minFreeThreads="number of threads"
minFreeLocalRequestFreeThreads="number of threads"
appRequestQueueLimit="number of requests"
versionHeader="version string"/>
iis 修改连接时间
从服务器的性能来说,服务器越高级,内存越大,它的上传速度也就越大,而且可上传的上限也越高。
扩大上传限制的奥妙就在于服务器的内存大小及系统的设定。
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config
上述文件中,有一个设置ASP.NET对于内存使用的限制,即
processModel 节的memoryLimit属性。此属性,默认被设置为60,即60%,意思即为可使用服务器总内存的60%,当使用的内存超过这个数值时,系统将自动执行回收动作。
当我们在上传的时候,如果上传的文件大小所占用的内存大小及整个运行环境超过了系统可用内存的60%时,此上传即失败。而且据实际数值看,要上传1M大小的文件,它就会占用2M的内存。如此,当你要上传1000M的文件时,你的服务器内存起码要有2000M或更大。
而且,普通情况下,由于我们的操作系统,对于内存的使用,是有限制的,即使你有4G的内存,但你能使用的仅仅是2G大小(除非应用其他方法扩大使用范围,当然,在今后64位系统下,可使用内存将大大增加了)。而如果没有修改这个60%的限制的话,那么,可使用的仅仅只能是1.2G,再扣除上传文件中的扩大内存占用,几乎可以说,在不修改其他参数的情况下,ASP.NET能上传最大不超过600M的文件。(我已经成功上传350M大小的文件,速度超过2M/s)。
在未上传文件前,系统所使用内存大约在220,在上传最后,内存占用达到950M左右,两者相减之后,约等于所上传文件大小的一倍。
上面是100M大小,注意单位为K直接设置一般可以上传不超过200M大小的文件(不过如果你的服务器内存太小有可能允许上传的大小会下降.),但绝对不会是仅10M
INTERNET传的过大就算没有系统限制也会出现超时等情况。
<!-- 设置上传文件大小 -->
<httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="104857" executionTimeout="900"/>
就可以了