国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
對(duì)于C#中的FileUpload解決文件上傳大小限制的問(wèn)題設(shè)置
         
         您可能沒(méi)意識(shí)到,但對(duì)于可以使用該技術(shù)上載的文件的大小存在限制。默認(rèn)情況下,使用 FileUpload 控件上載到服務(wù)器的文件最大為 4MB 左右。不能上載超過(guò)該限制的任何內(nèi)容。

然而,關(guān)于 .NET 的重要一點(diǎn)是,它通常會(huì)提供一種規(guī)避限制的方法。您通??梢愿恼谑褂玫哪J(rèn)設(shè)置。要更改大小限制,可以在 web.config.comments 文件(可以在 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 的 ASP.NET 2.0 配置文件夾中找到)或應(yīng)用程序的 web.config 文件中進(jìn)行一些改動(dòng)。

在 web.config.comments 文件中,查找一個(gè)名為 <executionTimeout>的節(jié)點(diǎn),如下所示:

<httpRuntimeexecutionTimeout="110"maxRequestLength="4096"requestLengthDiskThreshold="80"useFullyQualifiedRedirectUrl="false"minFreeThreads="8"minLocalRequestFreeThreads="4"appRequestQueueLimit="5000"enableKernelOutputCache="true"enableVersionHeader="true"requireRootedSaveASPath="true"enable="true"shutdownTimeout="90"delayNotificationTimeout="5"waitChangeNotification="0"maxWaitChangeNotification="0"enableHeaderChecking="true"sendCacheControlHeader="true"apartmentThreading="false" />

在這個(gè)節(jié)點(diǎn)上進(jìn)行了許多操作,但負(fù)責(zé)上載文件大小的設(shè)置是 maxRequestLength 屬性。默認(rèn)情況下,該屬性設(shè)置為 4096 千字節(jié) (KB)。只需更改此值,就可以增加可上載到服務(wù)器的文件大小。如果想要允許將 10 兆字節(jié) (MB) 的文件上載到服務(wù)器,則將 maxRequestLength 值設(shè)置為 11264,這意味著該應(yīng)用程序允許將最大為 11000 KB 的文件上載到服務(wù)器。

在 web.config.comments 文件中進(jìn)行此改動(dòng)會(huì)將該設(shè)置應(yīng)用于服務(wù)器上的所有應(yīng)用程序。如果要將該設(shè)置僅應(yīng)用于正在使用的應(yīng)用程序,則將該節(jié)點(diǎn)應(yīng)用于應(yīng)用程序的 web.config 文件,覆蓋 web.config.comments 文件中的所有設(shè)置。請(qǐng)確保該節(jié)點(diǎn)位于配置文件中的 <system.web> 節(jié)點(diǎn)之間。

與上載文件大小限制有關(guān)的另一個(gè)設(shè)置是賦給 <httpRuntime> 節(jié)點(diǎn)中 executionTimeout 屬性的值。

賦給 executionTimeout 屬性的值是 ASP.NET 關(guān)閉前允許發(fā)生的上載秒數(shù)。如果要允許將更大的文件上載到服務(wù)器,則還要增加該值和 maxRequestLength 值。

增加可上載文件大小的一個(gè)缺點(diǎn)是,存在通過(guò)發(fā)出大量請(qǐng)求來(lái)攻擊服務(wù)器的黑客。要避免這種情況,可以減小允許上載的文件大??;否則,可能會(huì)發(fā)現(xiàn)數(shù)百個(gè)甚至上千個(gè) 10 MB 的請(qǐng)求訪問(wèn)您的服務(wù)器。

客戶端驗(yàn)證允許上載的文件類(lèi)型

有幾種方法可以用來(lái)控制上載到服務(wù)器的文件類(lèi)型。遺憾的是,沒(méi)有一種十全十美的方法可以防御其他人上載惡意的文件。然而,您可以采取一些步驟,以使這個(gè)允許最終用戶上載文件的過(guò)程更易于管理。

一個(gè)可用的好方法是使用 ASP.NET 免費(fèi)提供的 ASP.NET 驗(yàn)證控件。這些控件使您可以對(duì)正在上載的文件進(jìn)行正則表達(dá)式檢查,看看文件的擴(kuò)展名是否在允許上載的擴(kuò)展名之列。

因?yàn)樵摲椒◤?qiáng)制在客戶端進(jìn)行檢查,所以對(duì)于允許在客戶端使用驗(yàn)證控件的瀏覽器而言,這是一個(gè)理想的選擇;如果簽名不是您允許的簽名,則該文件不能上載到服務(wù)器。清單 3 顯示一個(gè)使用驗(yàn)證控件完成該任務(wù)的示例。

此處不介紹驗(yàn)證控件的用法。有關(guān)驗(yàn)證控件的完整解釋以及如何在 ASP.NET 頁(yè)中使用它們,請(qǐng)參閱 Validating ASP.NET Server Controls。

清單 3. 使用驗(yàn)證控件限制上載到服務(wù)器的文件類(lèi)型

<ASP:FileUpload ID="FileUpload1" runat="server" /><br /><br /><ASP:Button ID="Button1" runat="server" OnClick="Button1_Click"Text="Upload File" /> <br /><br /><ASP:Label ID="Label1" runat="server"></ASP:Label><ASP:RegularExpressionValidatorid="RegularExpressionValidator1" runat="server"ErrorMessage="Only mp3, m3u or mpeg files are allowed!"ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))      +(.mp3|.MP3|.mpeg|.MPEG|.m3u|.M3U)$"ControlToValidate="FileUpload1"></ASP:RegularExpressionValidator><br /><ASP:RequiredFieldValidatorid="RequiredFieldValidator1" runat="server"ErrorMessage="This is a required field!"ControlToValidate="FileUpload1"></ASP:RequiredFieldValidator>

這個(gè)簡(jiǎn)單的 ASP.NET 頁(yè)使用驗(yàn)證控件,這樣最終用戶就只能將 .mp3、.mpeg 或 .m3u 文件上載到服務(wù)器。如果文件類(lèi)型不是以上可選的文件類(lèi)型,則 Validation 控件向屏幕拋出一個(gè)異常。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Web.Config文件配置之限制上傳文件大小和時(shí)間的屬性配置
在Web.config中更改單個(gè)上傳文件大小
Asp.Net文件上傳之簡(jiǎn)單文件上傳(上) - ASP.net
解決ASP.NET之Timeout時(shí)間已到,超時(shí)時(shí)間已過(guò)或服務(wù)器未響應(yīng)問(wèn)題
C#FileUpload控件
ASP.NET上傳時(shí)間超過(guò)4M失敗(超時(shí))的解決方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服