Dota 2. MMR sıralamada Türkler

Tr bayraklı Neqroman sadece listeye 163. sıradan girebildi

ABD'nin terörist sevgisi

ABD'nin, terör örgütü PYD/PKK’ya DEAŞ ile mücadele adı altında askeri sevkiyatları sürüyor.

DOTA2 - 2017 THE INTERNATIONAL CHAMPIONSHIP

2017 yazında düzenlenen turnuvada Team Liquid şampiyon oldu

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Mimetype nedir?

 
#1

Asp.net mimetype nasıl tespit edilir?

Mimetype
, her farklı uzantıya ait tanımlanmış farklı kimlik bilgisidir. Web tarayıcıları dosyaları ayırt etmek için bu yöntemi kullanır. 


Asp.net ile uygulama geliştirirken dosya upload kısmında belirli dosyaları kısıtlamak için uzantısı yerine mimetype kontrolü daha etkili bir çözümdür. Uzantısı değiştirilip bir exe upload edilebilir. Mimetype kontrolü için farklı yöntemler vardır. Ancak bazıları sunucu bazlı kontrol gerçekleştirmektedir. Sunucu bazlı kontrolden kasıt sunucuda kurulu olan türleri tespit etmektedir. Mimetype kontrolü için sunucuda o türün kurulu olmasına gerek duyulmamalıdır. Aşağıdaki class herhangi bir sunucu bazlı olmadan her sunucuda bu kontrolü gerekleştirmeye yardımcı olacaktır. Aşağıdaki class'ı kullanarak yüklenecek dosyanın mimetype'ını tespit edebilirsiniz. 



public class MimeType
{
   private static readonly byte[] BMP = { 66, 77 };
   private static readonly byte[] DOC = { 208, 207, 17, 224, 161, 177, 26, 225 };
   private static readonly byte[] EXE_DLL = { 77, 90 };
   private static readonly byte[] GIF = { 71, 73, 70, 56 };
   private static readonly byte[] ICO = { 0, 0, 1, 0 };
   private static readonly byte[] JPG = { 255, 216, 255 };
   private static readonly byte[] MP3 = { 255, 251, 48 };
   private static readonly byte[] OGG = { 79, 103, 103, 83, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0 };
   private static readonly byte[] PDF = { 37, 80, 68, 70, 45, 49, 46 };
   private static readonly byte[] PNG = { 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82 };
   private static readonly byte[] RAR = { 82, 97, 114, 33, 26, 7, 0 };
   private static readonly byte[] SWF = { 70, 87, 83 };
   private static readonly byte[] TIFF = { 73, 73, 42, 0 };
   private static readonly byte[] TORRENT = { 100, 56, 58, 97, 110, 110, 111, 117, 110, 99, 101 };
   private static readonly byte[] TTF = { 0, 1, 0, 0, 0 };
   private static readonly byte[] WAV_AVI = { 82, 73, 70, 70 };
   private static readonly byte[] WMV_WMA = { 48, 38, 178, 117, 142, 102, 207, 17, 166, 217, 0, 170, 0, 98, 206, 108 };
   private static readonly byte[] ZIP_DOCX = { 80, 75, 3, 4 };

   public  string GetMimeType(byte[] file, string fileName)
   {

       string mime = "application/octet-stream"; //DEFAULT UNKNOWN MIME TYPE

       //Ensure that the filename isn't empty or null
       if (string.IsNullOrWhiteSpace(fileName))
       {
           return mime;
       }

       //Get the file extension
       string extension = Path.GetExtension(fileName) == null
                              ? string.Empty
                              : Path.GetExtension(fileName).ToUpper();

       //Get the MIME Type
       if (file.Take(2).SequenceEqual(BMP))
       {
           mime = "image/bmp";
       }
       else if (file.Take(8).SequenceEqual(DOC))
       {
           mime = "application/msword";
       }
       else if (file.Take(2).SequenceEqual(EXE_DLL))
       {
           mime = "application/x-msdownload"; //both use same mime type
       }
       else if (file.Take(4).SequenceEqual(GIF))
       {
           mime = "image/gif";
       }
       else if (file.Take(4).SequenceEqual(ICO))
       {
           mime = "image/x-icon";
       }
       else if (file.Take(3).SequenceEqual(JPG))
       {
           mime = "image/jpeg";
       }
       else if (file.Take(3).SequenceEqual(MP3))
       {
           mime = "audio/mpeg";
       }
       else if (file.Take(14).SequenceEqual(OGG))
       {
           if (extension == ".OGX")
           {
               mime = "application/ogg";
           }
           else if (extension == ".OGA")
           {
               mime = "audio/ogg";
           }
           else
           {
               mime = "video/ogg";
           }
       }
       else if (file.Take(7).SequenceEqual(PDF))
       {
           mime = "application/pdf";
       }
       else if (file.Take(16).SequenceEqual(PNG))
       {
           mime = "image/png";
       }
       else if (file.Take(7).SequenceEqual(RAR))
       {
           mime = "application/x-rar-compressed";
       }
       else if (file.Take(3).SequenceEqual(SWF))
       {
           mime = "application/x-shockwave-flash";
       }
       else if (file.Take(4).SequenceEqual(TIFF))
       {
           mime = "image/tiff";
       }
       else if (file.Take(11).SequenceEqual(TORRENT))
       {
           mime = "application/x-bittorrent";
       }
       else if (file.Take(5).SequenceEqual(TTF))
       {
           mime = "application/x-font-ttf";
       }
       else if (file.Take(4).SequenceEqual(WAV_AVI))
       {
           mime = extension == ".AVI" ? "video/x-msvideo" : "audio/x-wav";
       }
       else if (file.Take(16).SequenceEqual(WMV_WMA))
       {
           mime = extension == ".WMA" ? "audio/x-ms-wma" : "video/x-ms-wmv";
       }
       else if (file.Take(4).SequenceEqual(ZIP_DOCX))
       {
           mime = extension == ".DOCX" ? "application/vnd.openxmlformats-officedocument.wordprocessingml.document" : "application/x-zip-compressed";
       }

       return mime;
   }


}




Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Sql injection nedir? tuğrul 0 344 09-05-2017, Saat: 11:43
Son Yorum: tuğrul

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2017 Tüm hakları saklıdır.