Asp.net

HTTP 文件上傳如何在 IIS 內部工作?

  • February 4, 2011

我想了解當您進行網路上傳時會發生什麼。

我猜其中之一:

  1. 文件由瀏覽器載入到記憶體中,發送到web伺服器記憶體,然後通知app去收集。
  2. 該文件正在被瀏覽器讀取並同時發送到 Web 伺服器,該伺服器可以開始逐步保存字節。

我嘗試上傳一個非常大的文件,並在接收上傳的方法的第一行放置一個斷點。我已經看到瀏覽器如何花費大量時間載入……但是斷點仍然沒有被擊中,過了一會兒斷點被擊中。

我想了解這一點,因為在最壞的情況下,如果我允許大量上傳,它們可能會在某個時候炸毀伺服器記憶體。

如果我上傳 2Gb 文件會怎樣?(考慮到 Web 伺服器/應用程序接受該長度)是否需要 2Gb 的伺服器記憶體?

乾杯。

HttpPostedFile類(表示上傳到 ASP.NET 中的伺服器的文件)的文件指定:

文件以 MIME 多部分/表單數據格式上傳。預設情況下,所有大於 256 KB 的請求(包括表單欄位和上傳的文件)都會緩衝到磁碟,而不是保存在伺服器記憶體中。

引用自:https://stackoverflow.com/questions/4898717