2019年1月9日 星期三

[ASP.NET] 上傳檔案出現異常(檔案大小超出限制)

當使用者使用上傳功能出現超奇怪的錯誤,像是
無法顯示網頁~
伺服器應用程式無法使用~
已傳回類型 System.OutOfMemoryException 的例外狀況~

饒了我吧....

這種Debug模式下斷點也攔不到,讓人想一頭撞死的錯誤
就可以測測看是不是上傳檔案大小超出限制

基本上自IIS7開始,IIS預設上傳檔案的大小是28MB,而ASP.net則4MB。
(雖然我這次3.5MB就失敗了...)
如果預計開放的大小在28MB內,就只要設定Web.confog檔就可以了!
但如果要開得更大,就要額外設定IIS了。



Web.config設定如下:

<system.web>
<httpRuntime  maxRequestLength="10240" executionTimeout="60"/>
</system.web>

以本次為例,我只打算開放到10MB左右,maxRequestLength就設定為10240(KB),
而上傳時間就設定為60(秒)。

這裡額外要注意的點就是一次上傳多個檔時,合計檔案大小要在10MB以下。
也就是說我們設定的maxRequestLength並不是個別檔案上傳的大小,
而是該次整體檔案上傳的大小,要小心別又超過囉!

至於IIS設定本次我沒有使用,但還是把設定方式附上:
(不過也只有文字敘述而已,哪天我真的設定了再附上圖吧~)


  1. 至IIS找到該網站
  2. 進入"要求篩選"
  3. 點選"編輯功能設定"
  4. 修改要求限制區塊中的"允許的內容長度上限(位元組)"
  5. 點選確定

(感謝兩位先賢大德讓我找到了突破困境的曙光啊~感恩!)



沒有留言:

張貼留言

[Excel] 日期(數值)轉文字

Excel的日期格式真的常常使人抓狂, 在使用者輸入日期後該欄位真正的值會被Excel轉換成一串數字, 這串數字代表著自1900/1/1到該日期的總天數。 但程式或使用者真正要的,就不是這串數字, 他們就是要日期!要日期!! So, 為了取得真正的值只好使用TEXT函數來解決了 ...