解决.net项目中上传的图片或者文件太大无法上传问题

(编辑:jimmy 日期: 2024/10/15 浏览:2)

最近做项目的时候  用户提出要上传大图片  一张图片有可能十几兆  本来用的第三方的上传控件  有限制图片上传大小的设置 

以前设置的是2M  按照用户的要求  以为直接将限制图片上传大小的设置改下就可以了  但是当上传大图片的时 

总是异常:

错误消息:超过了最大请求长度

解决方案:

错误原因:asp.net默认最大上传文件大小为4M,运行超时时间为90S。

修改web.config中配置

<configuration> 
 <system.web> 
 <httpRuntime useFullyQualifiedRedirectUrl="true" executionTimeout="120" maxRequestLength="2097151"/>
 </system.web> 
<configuration> 

在我的项目中这个修改  之后再上传就没问题了  简单解释下:

executionTimeout执行超时时间:单位是秒

maxRequestLength上传的最大长度:上面我设置的已经是最大的数值了  单位为KB

ps:下面是httpRuntime完整配置 以及相关的解释

 <httpRuntime executionTimeout="600" maxRequestLength="951200" 
 useFullyQualifiedRedirectUrl="true" minFreeThreads="8" 
 minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true"/> 

httpRuntime是配置asp.net http运行设置,以确定如何处理对asp.net应用程序的请求。

executionTimeout:表示允许执行请求的最大时间限制,单位是秒

maxRequestLength:指示asp.net支持的最大文件上载大小。该显示可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小是KB为单位。默认值为4096KB.

userFullyQualifiedRedirectUrl:表示指示客户端重定向是否是完全限定的(采用:“http://server/path”格式,这是某些移动控件所必须的),或者指示是否代之以将相对重定向发送到客户端。如果为true,则所有不是完全限定的重定向都将自动转换为完全限定的格式。false 是默认选项。

minFreeThreads:表示指定允许执行新请求的自由线程的最小数目。ASP.NET为要求附加线程来完成其处理请求而指定数目的线程保持自由状态。默认值为8.

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

enableVersionHeader:表示指定的ASP.NET是否应输出版本的标头。vs2005使用该属性来确定当前的使用ASP.NET版本。对于生产环境,该属性不是必需的,可以禁用。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?