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