IIS出于安全考慮限制了大文件的上傳,而網(wǎng)上百度到的大部分解決方法都是用一個管理員權(quán)限的記事本打開一個文件修改參數(shù),但是我發(fā)現(xiàn)里面根本沒有網(wǎng)上所說的那些參數(shù),最后自己找到了修改發(fā)布文件的webconfig的方法解決的IIS對大文件上傳的限制。
一、首先在system.web中加入以下代碼
[csharp]viewplaincopy
1. <httpRuntime
2. maxRequestLength="2097151"//最大上傳長度
3. useFullyQualifiedRedirectUrl="true"
4. executionTimeout="6000"//最大響應時間
5. minFreeThreads="8"
6. minLocalRequestFreeThreads="4"
7. appRequestQueueLimit="100"
8. enableVersionHeader="true"
9. />
這個也是網(wǎng)上百度答案中比較多的加法,這里修改最大上傳的長度為2097151kb也就是2G,可以根據(jù)自己的需要修改這個大小。而executionTimeout屬性是用于限制文件上傳服務器的響應時間,也就是說如果網(wǎng)速很慢,上傳同樣大小的文件可能需要給予更長的響應時間,否則雖然沒有達到上傳大小限制但因為上傳超時而被ISS拒絕。
但是方法仍然不夠,我們還需要添加一個很關(guān)鍵的東西來修改IIS中的屬性,第一次成功是通過打開IIS對應發(fā)布文件的。
二、 1、打開IIS選擇你所發(fā)布的網(wǎng)頁右邊屬性的最下面一項。

2、打開后根據(jù)這個路徑打開:system.webserver/security/requestFiltering

3、修改下圖表示的部分的大小限制,單位為byte(圖中為最大值)。

4、這個地方默認是30000000byte,我將它修改成了IIS的最大限制2G(不到2G)。這種修改方法不是一勞永逸,如果重新發(fā)布或者重新選擇別的發(fā)布文件那么它將會重置成30000000byte。
所以最后的解決方法是,在發(fā)布文件的webconfig中加入以下代碼(放在system.web之外):
[csharp]viewplaincopy
1. <system.webServer>
2. <security>
3. <requestFiltering>
4. <requestLimitsmaxAllowedContentLength="2072576000"/>
5. </requestFiltering>
6. </security>
7. </system.webServer>
5、這樣不管你發(fā)布它的IIS應用默認是多少,加載了這個網(wǎng)站后都會自動被設置為2G大小(可以根據(jù)自己的需求去修改這個大小)。
三、以上就是大文件在IIS上傳受到限制的解決方法,希望能夠幫助到大家。