首先在system.web中加入以下代码
<httpRuntime
maxRequestLength="2097151"//最大上传长度
useFullyQualifiedRedirectUrl="true"
executionTimeout="6000"//最大响应时间
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true"
/>
这个也是网上百度答案中比较多的加法,这里修改最大上传的长度为2097151kb也就是2G,可以根据自己的需要修改这个大小。而executionTimeout属性是用于限制文件上传服务器的响应时间,也就是说如果网速很慢,上传同样大小的文件可能需要给予更长的响应时间,否则虽然没有达到上传大小限制但因为上传超时而被ISS拒绝。
但是以上方法仍然不够,我们还需要添加一个很关键的东西来修改IIS中的属性,第一次成功是通过打开IIS对应发布文件的
1、打开IIS选择你所发布的网页右边属性的最下面一项
2、打开后根据这个路径打开:system.webserver/security/requestFiltering
3、修改下图表示的部分的大小限制,单位为byte(图中为最大值)
这个地方默认是30000000byte,我将它修改成了IIS的最大限制2G(不到2G)。这种修改方法不是一劳永逸,如果重新发布或者重新选择别的发布文件那么它将会重置成30000000byte。
所以最后的解决方法是,在发布文件的webconfig中加入以下代码(放在system.web之外):
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2072576000"/>
</requestFiltering>
</security>
</system.webServer>
这样不管你发布它的IIS应用默认是多少,加载了这个后都会自动被设置为2G大小(可以根据自己的需求去修改这个大小)。
如果需要上传超过2G的大文件,可以参考一下这个插件,详细信息可查看这篇文章:http://blog.ncmem.com/wordpress/2019/08/09/iis%e5%a4%a7%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0/