asp.net 上傳大檔案大小控制方案

暖楓無敵發表於2011-12-29


.NET預設允許上傳4M的檔案。

修改 Machine.config 檔案,改動MaxRequestLength 引數的值。在c:\winnt\microsoft.net 目錄下搜尋該檔案.

需要注意的是:在儲存檔案時,您應該確保指定檔案的完整路徑,並確保為 ASP.NET 使用的帳戶提供要儲存檔案的目錄的寫許可權。上載大檔案時,可使用Web.Config元素的 maxRequestLength 屬性來增加檔案大小的最大允許值,例如:

 <configuration>
    <system.web>
     <httpRuntimemaxRequestLength="1048576" executionTimeout="3600" />
    </system.web>
 </configuration>

其中:maxRequestLength:指示 ASP.NET 支援的HTTP方式上載的最大位元組數(最大值是2097150,2G)。指定的大小以 KB 為單位。預設值為 4096 KB (4 MB)。executionTimeout:指示在被  ASP.NET 自動關閉前,允許執行請求的最大秒數。在當檔案超出指定的大小時,如果瀏覽器中會產生 DNS 錯誤或者出現服務不可得到的情況,也請修改以上的配置,把配置數加大。


另外,上載大檔案時,還可能會收到以下錯誤資訊:

 aspnet_wp.exe (PID: 1520) 被回收,因為記憶體消耗超過了 460 MB(可用 RAM 的百分之 60)。

如果遇到此錯誤資訊,請增加應用程式的 Web.config 檔案的 元素中 memoryLimit 屬性的值。例如:

 <configuration>
    <system.web>
       <processModelmemoryLimit="80"/>
    </system.web>
 </configuration>

如果是Windows Server2003:

在Windows Server 2003 下上傳大檔案注意事項:

在Windows Server 2003上傳較大的附件進行傳送時系統報錯:


1.先在服務裡關閉iis admin service服務 


2.找到 WINDOWS\system32\inetsrv\下的MetaBase.xml,
開啟,找到ASPMaxRequestEntityAllowed 把他修改為需要的值,預設為204800,即200K,把它修改為51200000或者更大[根據檔案大小確定]。


3.然後重啟iis admin service服務


相關文章