時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(1)
上傳文件檢測(cè)類(lèi)型到目前為止我只看到過(guò)3種,第一種是檢測(cè)文件的后綴名;第二種是檢測(cè)文件的頭部編碼,不同類(lèi)型文件的頭部編碼是不一樣的(比如255216是jpg,7173是gif,6677是BMP,13780是PNG,7790是exe,8297是rar等);第三中是檢測(cè)文件的MIME內(nèi)容類(lèi)型。這篇文章代碼多有參考網(wǎng)絡(luò),特此說(shuō)明。
前臺(tái)文件:三種方法的前臺(tái)文件是一樣的.
view source <http://www.cnblogs.com/feelboy/archive/2010/08/19/1803175.html>
print <http://www.cnblogs.com/feelboy/archive/2010/08/19/1803175.html>
1<%@ Page Language="C#" AutoEventWireup="true"?? CodeFile="Default.aspx.cs" Inherits="_Default" %>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22%3E>" target=_blank><http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>">
xmlns="http://www.w3.org/1999/xhtml%22%C2%A0%3E>" target=_blank>http://www.w3.org/1999/xhtml" >
后臺(tái)文件:
第一種方法:安全性相對(duì)第二種低,把文本文件1.txt改成1.jpg照樣可以上傳,但其實(shí)現(xiàn)方法容易理解,實(shí)現(xiàn)也簡(jiǎn)單,所以網(wǎng)上很多還是采取這種方法。
01public partial class _Default : System.Web.UI.Page
02{
03???? protected void btn_upload_Click(object sender, EventArgs e)
04???? {
05?? Boolean fileOk = false;
06?? string path = Server.MapPath("~/images/");
07?? //判斷是否已經(jīng)選取文件
08?? if (FileUpload1.HasFile)
09?? {
10 //取得文件的擴(kuò)展名,并轉(zhuǎn)換成小寫(xiě)
11 string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
12 //限定只能上傳jpg和gif圖片
13 string[] allowExtension = { ".jpg", ".gif" };
14 //對(duì)上傳的文件的類(lèi)型進(jìn)行一個(gè)個(gè)匹對(duì)
15 for (int i = 0; i < allowExtension.Length; i++)
16 {
17???? if (fileExtension == allowExtension[i])
18???? {
19?? fileOk = true;
20?? break;
21???? }
22 }
23?? }
24?? else
25?? {
26 Response.Write("");
27?? }
28?? //如果擴(kuò)展名符合條件,則上傳
29?? if (fileOk)
30?? {
31 FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
32 Response.Write("");
33?? }
34???? }
35}
第二種方法,可以實(shí)現(xiàn)真正意義上的文件類(lèi)型判斷。
01public partial class _Default : System.Web.UI.Page
02{
03????? protected void btn_upload_Click(object sender, EventArgs e)
04???? {
05?? try
06?? {
07 //判斷是否已經(jīng)選取文件
08 if (FileUpload1.HasFile)
09 {
10???? if (IsAllowedExtension(FileUpload1))
11???? {
12?? string path = Server.MapPath("~/images/");
13?? FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
14?? Response.Write("");
15???? }
16???? else
17???? {
18?? Response.Write("");
19????
關(guān)鍵詞標(biāo)簽:asp.net
相關(guān)閱讀
熱門(mén)文章 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 鐘離圣遺物推薦-原神鐘離圣遺物詞條 解決方法:應(yīng)用程序“DEFAULT WEB SITE”中的服務(wù)器錯(cuò)誤 使用aspnet_regiis.exe 重新注冊(cè).NET Framework
人氣排行 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 asp.net表單提交方法GET\POST 在ASP.NET中如何判斷用戶(hù)IE瀏覽器的版本 Asp.net中messagebox的實(shí)現(xiàn)方法 Asp.net中的web.config配置 在ASP.NET MVC中實(shí)現(xiàn)大文件異步上傳 asp.net獲取URL和IP地址 FileUpload上傳多文件出現(xiàn)錯(cuò)誤的解決方法