Asp.net
HTTP 文件上傳如何在 IIS 內部工作?
我想了解當您進行網路上傳時會發生什麼。
我猜其中之一:
- 文件由瀏覽器載入到記憶體中,發送到web伺服器記憶體,然後通知app去收集。
- 該文件正在被瀏覽器讀取並同時發送到 Web 伺服器,該伺服器可以開始逐步保存字節。
我嘗試上傳一個非常大的文件,並在接收上傳的方法的第一行放置一個斷點。我已經看到瀏覽器如何花費大量時間載入……但是斷點仍然沒有被擊中,過了一會兒斷點被擊中。
我想了解這一點,因為在最壞的情況下,如果我允許大量上傳,它們可能會在某個時候炸毀伺服器記憶體。
如果我上傳 2Gb 文件會怎樣?(考慮到 Web 伺服器/應用程序接受該長度)是否需要 2Gb 的伺服器記憶體?
乾杯。
HttpPostedFile類(表示上傳到 ASP.NET 中的伺服器的文件)的文件指定:
文件以 MIME 多部分/表單數據格式上傳。預設情況下,所有大於 256 KB 的請求(包括表單欄位和上傳的文件)都會緩衝到磁碟,而不是保存在伺服器記憶體中。