ASP.NET YÜKLENEN DOSYA UZANTISI
Asp.net yüklenen dosyanın uzantısını alma. Yüklenen dosyanın video, resim, döküman vb. hangi tür dosya olduğunu kontrol etmek.
Web sitesi yaparken hemen tüm web sitelerinde resim ekleme kısmı bulunur. Bazı sitelerde video yükleme sayfasıda bulunur. Bazı sitelerde ise pdf, Word vb. doküman yüklemek gerekebilir.
Bu tarz dosya yükleme yazılımlarını yazarken karşılacağımız sorunlardan biri de kullanıcının ne tür dosya yükleyeceği sorunudur. Sadece resim eklenebilecek yere kullanıcı video yüklerse ne olur. Veya sadece mp4 video yüklemesini yapmasını istiyoruz, avi uzantılı video yüklenirse bu video görüntülenemeyecektir. Örnekleri çoğaltabiliriz. Bu sorunu kısa yoldan çözebiliriz. Dosya yükleme ekranında yazacağımız birkaç satır kod ile kullanicinin hangi uzantılara sahip dosyaları yükleyebileceğini belirleyebilir, dosya çeşitlerini sınırlandırabiliriz.
Bu işlemi yaparken kullanıcı dosyayı seçip kaydet buttonuna tıklayınca seçtiği dosyanın uzatışını alıp kontrol ederek uygunsa kaydetmesini, değilse kullanıcıyı uyarmasını sağlayabiliriz.
İşte bu makalede böyle bir kod bloku verilecektir.
protected void MedyaSave_Click(object sender, EventArgs e)
{
string mesaj = "";
string baslik;
baslik = BaslikText.Text;
string videoad;
videoad = MedyaFile();
if(videoad=="hata2")
{
mesaj = "Video Yükleme Hatası";
}
if(videoad=="hata1")
{
mesaj = "Seçtiğiniz Dosya Uzantısı Yanlış";
}
if(videoad!="hata1"&&videoad!="hata2")
{
Kayit.VideoKayit(baslik, videoad);
mesaj = "Video Kaydedildi";
}
}
protected string MedyaFile()
{
string vm_kayit = "Video/";
string Vm_Name;
string Vm1, Vm2;
string Vm_url = "";
if (medyaup.HasFile)
{
Vm_Name = medyaup.FileName;
int idx1, idx2, idx3;
if (Vm_Name != "" && Vm_Name != null)
{
Vm1 = Vm_Name;
idx1 = Vm1.Length;
idx2 = Vm1.LastIndexOf(".", Vm1.Length - 1, Vm1.Length - 1);
idx3 = idx1 - idx2;
Vm2 = Vm1.Substring(idx2 + 1, idx3 - 1);
Vm_url = vm_kayit + Vm_Name;
if (Vm2 == "mp4" || Vm2 == "Vmw" || Vm2 == "avi" || Vm2 == "MPEG3"||Vm2=="flv")
{
medyaup.SaveAs(Server.MapPath(Vm_url));
}
else
{
Vm_url = "hata1";
}
}
else
{
Vm_url = "hata2";
}
}
return Vm_url;
}
if (medyaup.HasFile)
Yukarıdaki satır ise FileUpload kontrolüne dosya yüklenip yüklenmediğini denetler.
Vm_Name = medyaup.FileName;
Yukarıdaki satır ile file uploada yüklenen dosyanın adı ve uzantısı birlikte alınıyor. Burada “medyaup” bir FileLoad kontrolüdür.
Vm_Name = medyaup.FileName;
int idx1, idx2, idx3;
if (Vm_Name != "" && Vm_Name != null)
{
Vm1 = Vm_Name;
idx1 = Vm1.Length;
idx2 = Vm1.LastIndexOf(".", Vm1.Length - 1, Vm1.Length - 1);
idx3 = idx1 - idx2;
Vm2 = Vm1.Substring(idx2 + 1, idx3 - 1);
Yukarıdaki kod bloku ise Fileupload kontrolünden alınan dosya adı boş değilse, bunun sondan başlayarak noktaya kadar olan kısmını koparıp alır. Yani dosya uzantısını elde ediyoruz.
if (Vm2 == "mp4" || Vm2 == "Vmw" || Vm2 == "avi" || Vm2 == "MPEG3"||Vm2=="flv")
{
medyaup.SaveAs(Server.MapPath(Vm_url));
}
else
{
Vm_url = "hata1";
}
Yukarıdaki kod bloku ile de elde ettiğimiz bu uzantıyı kontrol ediyoruz. Eğer uzantı mp4, Vmw, avi, MPEG3 veya flv den birine eşitse dosya yüklenecek. Değilse kullanıcıyı uyaracak.
Kolay Gelsin
SANATSAL BİLGİ
10/11 /2016