2010-08-06 64 views
0

如果我上傳大於configs max請求長度的文件,則會出現「服務器響應錯誤:未知服務器錯誤」警報彈出窗口。它詢問我是否想看到響應頁面,如果我點擊「確定」,應用程序錯誤窗口彈出「超出最大請求長度」。AsyncFileUpload:如何隱藏最大請求長度超出警報錯誤?

我發現這已經...... Catching "Maximum request length exceeded"

我是在得到那個工作不成功。

我還發現另一個SO問題(我似乎無法找到它),這是類似的問題。不同之處在於OP已經詢問如何重定向到錯誤頁面。我不想這樣做。答案是使用在web.config中設置的自定義錯誤重定向。

我只是想吸收錯誤,什麼都不做,我使用OnClientUploadError事件來通過js處理錯誤。基本上,我只是不想要這個愚蠢的彈出消息。

奇怪的是,我在本地運行應用程序時看不到錯誤,但當我將應用程序部署到我們的服務器時發現錯誤。

注意我應該提到我知道配置值來設置最大請求長度。將其設置爲非常大將不適用於此實例。

更新所以,我想知道如果這可能是我們的服務器的IIS設置的東西。奇怪的是,它不是在本地發生的。任何想法,我應該尋找什麼?我在網上找到的大部分建議修改machine.config。但是,正如我之前所說的,我並不只是想要達到允許的大小。我正在通過js處理錯誤,我不希望在任何情況下都顯示此警報。

更新好吧,它聽起來像IIS的默認限制是30MB。我正在嘗試的文件比這少得多。我不知所措...

回答

0

檢查Web.Config中httpRuntime節點下的值4096。將其增加到100mb或根據需要。 4096意味着4mb。

+0

謝謝,但我已經知道這個值。我應該提到它。我們必須保持這個限制,我們不希望允許用戶上傳一個很大的文件。此外,即使我將它設置爲500MB或一個演出,如果一些隨機用戶決定嘗試更大的東西,他們會看到錯誤。 – Carter 2010-08-06 19:15:40

+0

@AmRan你真的想讓你網站上的所有用戶上傳100MB文件嗎?! Web配置中的值應該設置爲可以達到的最低合理限制,而不是一些任意的高限。 – 2011-07-05 08:06:41

2

OnClientUploadError寫javascript將設置一些標誌,然後可以在提交表單時向用戶提供上傳導致錯誤的消息時使用該標誌。

<asp:AsyncFileUpload ID="fileUpload" 
        runat="server" OnClientUploadError="onUploadError" 
        OnClientUploadComplete="uploadComplete" 
        OnUploadedComplete="OnUploadComplete" /> 
在JavaScript

<script language="javascript" type="text/javascript"> 
    var uploadError = false;  
    function onUploadError() 
    { 
      uploadError = true; 
    } 

    function uploadComplete() 
    { 
      uploadError = false; 
    } 

    function validateForm() 
    { 
     return !uploadError; 
    } 
</script> 

通過這樣做重定向錯誤頁面

是可以避免的。

+0

這個工程,但仍然會導致一個JavaScript警報顯示...任何方式來防止JavaScript警報顯示? – 2011-03-07 20:20:40

+0

@Ken Sykora:嘗試返回true;在onUploadError方法中。 function onUploadError(){uploadError = true;返回true;}我不確定。 – dhinesh 2011-03-08 12:39:59

相關問題