怎樣在ASP.NET中使用VB.NET上傳大檔案

來源:互聯網
上載者:User
     這裡的內容基本上來自MSDN中的一篇文章,標題為《

How to upload a file to a Web server in ASP.NET by using Visual Basic .NET

》,英文沒問題的話,Redirect到這篇文章好了。
    使用Windows2003的iis 6.0會對檔案上傳的大小做一限制,這使得伺服器更安全。預設的asp上傳大小為200k,Asp.NET的大小為4M。網上有很多文章介紹如何突破IIS 6.0上傳文章限制的,其實是適用於asp頁面的檔案上傳,而在.NET環境中如何做的,我用google搜尋了一下午,也沒找到一篇中文的,萬般無奈,見英文就脖子硬的我只好搜搜英文頁面,總算在微軟的MSDN上找到了比較標準的答案。不敢獨享,獻給象我一樣英文欠佳的朋友。

    預設情況下,ASP.NET  允許上傳到Web伺服器的檔案為小於等於4096k,也就是4M,如果上傳的檔案大於設定的值,那麼你會在瀏覽器頁面看到“找不到伺服器或DNS”之類的錯誤資訊,一定會讓你迷惑不解的,呵呵。如果希望上傳更大的檔案,那麼就必須修改 Web.config 檔案中 <httpRuntime> 節  maxRequestLength 參數的值。如果你使用VS.NET建立一個項目,那麼VS.NET建立的 Web.config 檔案中並沒有加上 <httpRuntime>節,你可以自己加上就好了。注意要包在<system.web>節的裡面。

如:

<httpRuntime  maxRequestLength="409600" />

    這樣上傳的檔案就可以是小於等於400M了。檔案修改儲存後可以立即生效,不必重啟IIS。

    有時,我們希望整個伺服器的應用都可以上傳大的檔案,那麼可以在 Machine.config 檔案中修改 <httpRuntime> 節 maxRequestLength 屬性的值。要注意的是這個檔案的位置可不是在Web服務的根目錄下,而是在 \系統目錄\Microsoft .NET\Framework\版本號碼\config目錄下,(粗斜體根據具體環境設定)。例如我的環境下就應該是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG。也是設定好立即生效,不需重啟IIS。

    Web.config中的值可以覆蓋Machine.config中的設定。

    因為上傳時ASP.NET首先將整個檔案讀進記憶體,然後再寫入磁碟,所以,上傳過大的檔案會讓伺服器不堪重負的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.