IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁(yè)網(wǎng)絡(luò)編程.Net編程 → asp.net上傳文件檢測(cè)類(lèi)型

asp.net上傳文件檢測(cè)類(lèi)型

時(shí)間:2015/6/28來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

  上傳文件檢測(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 <https://www.cnblogs.com/feelboy/archive/2010/08/19/1803175.html>

  print <https://www.cnblogs.com/feelboy/archive/2010/08/19/1803175.html><https://www.cnblogs.com/feelboy/archive/2010/08/19/1803175.html>

  1<%@ Page Language="C#" AutoEventWireup="true"   CodeFile="Default.aspx.cs" Inherits="_Default" %><BR><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<A href="<https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22%3E>" target=_blank><https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>"></A><BR><html xmlns="<A href="<https://www.w3.org/1999/xhtml%22%C2%A0%3E>" target=_blank>https://www.w3.org/1999/xhtml" ></A><BR><head runat="server"><BR>     <title>無(wú)標(biāo)題頁(yè)</title><BR></head><BR><body><BR>     <form id="form1" runat="server"><BR>     <div><BR>   <asp:FileUpload ID="FileUpload1" runat="server" /><BR>   <asp:Button ID="btn_upload" runat="server" <SPAN>OnClick</SPAN>="btn_upload_Click" Text="上傳" /><BR>     </div><BR>     </form><BR></body><BR></html>

  后臺(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("<script>alert('你還沒(méi)有選擇文件');</script>");

  27   }

  28   //如果擴(kuò)展名符合條件,則上傳

  29   if (fileOk)

  30   {

  31 FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);

  32 Response.Write("<script>alert('上傳成功');</script>");

  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("<script>alert('上傳成功');</script>");

  15     }

  16     else

  17     {

  18   Response.Write("<script>alert('您只能上傳jpg或者gif圖片');</script>");

  19    

關(guān)鍵詞標(biāo)簽:asp.net

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 手把手教你用好LINQ to SQL手把手教你用好LINQ to SQL在.NET環(huán)境下為網(wǎng)站增加IP過(guò)濾功能在.NET環(huán)境下為網(wǎng)站增加IP過(guò)濾功能ASP.NET 如何避免頁(yè)面重新整理時(shí)重復(fù)送出ASP.NET 如何避免頁(yè)面重新整理時(shí)重復(fù)送出用Asp.net擴(kuò)展ExtJS用Asp.net擴(kuò)展ExtJS

相關(guān)下載

人氣排行 asp.net表單提交方法GET\POST在ASP.NET中如何判斷用戶(hù)IE瀏覽器的版本Asp.net中messagebox的實(shí)現(xiàn)方法Asp.net中的web.config配置在ASP.NET MVC中實(shí)現(xiàn)大文件異步上傳用Iformattable接口控制.Net中文本格式c#.Net經(jīng)典面試題目用Asp.net擴(kuò)展ExtJS