关于ASP.NET中fileupload控件的缺点
一、首我來理一理“FileUpload”控件的工作大概原理:
FileUpload?控件顯示一個文本框控件和一個瀏覽按鈕,使用戶可以選擇客戶端上的文件并將它上載到 Web 服務器。用戶通過在控件的文本框中輸入本地計算機上文件的完整路徑(例如,C:\Ptest\CTest.txt)來指定要上載的文件。用戶也可以通過單擊“瀏覽”按鈕,然后在“選擇文件”對話框中定位文件來選擇文件。用戶選擇要上載的文件后,FileUpload?控件不會自動將該文件保存到服務器。您必須顯式提供一個控件或機制,使用戶能提交指定的文件。例如,可以提供一個按鈕,用戶單擊它即可上載文件。為保存指定文件所寫的代碼應調用 SaveAs()方法,該方法將文件內容保存到服務器上的指定路徑。通常,在引發回發到服務器的事件的事件處理方法中調用SaveAs?方法。在文件上傳的過程中,文件數據作為頁面請求的一部分,上傳并緩存到服務器的內存中,然后再寫入服務器的物理硬盤中。
?
二、個人認為有一下幾點,有其他見解的同仁可以提提:
1、上傳很消耗內存。因為它是服務器控件,好多邏輯是在服務端進行處理的。
2、上傳大文件受限制。默認情況下,不支持大于4M的文件,若硬要上傳大于4M的文件,可以通過設置?httpRuntime 元素的?maxRequestLength?屬性來允許上載更大的文件。若要增加整個應用程序所允許的最大文件大小,請設置 Web.config 文件中的?maxRequestLength?屬性。若要增加指定頁所允許的最大文件大小,請設置 Web.config 中?location?元素內的?maxRequestLength?屬性。并且在上載較大文件時,用戶也可能接收到以下錯誤信息:
??? aspnet_wp.exe (PID: 1520) was recycled because memory consumption exceeded 460 MB (60 percent of available RAM).
? ? 這個提示信息說明,上傳文件的大小不能超過服務器內存大小的60%。這里的60%是Web。config文件的默認配置,是<processModel>配置節中的?memoryLimit?屬性默認值。雖然可以修改,但是如果上傳文件越大,成功幾率越小,所以不建議使用。
3、不支持同時上傳多個文件,即在ajax的UpdatePanel中是沒有辦法運行。
轉載于:https://www.cnblogs.com/CHNMurphy/p/5229872.html
總結
以上是生活随笔為你收集整理的关于ASP.NET中fileupload控件的缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 升级win10的理由
- 下一篇: java第一课