如何解决.net项目中上传的图片或者文件太大无法上传问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
最近做项目的时候 用户提出要上传大图片 一张图片有可能十几兆 本来用的第三方的上传控件 有限制图片上传大小的设置
以前设置的是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版本。对于生产环境,该属性不是必需的,可以禁用。
关于如何解决.net项目中上传的图片或者文件太大无法上传问题问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。