Kategorisi | Asp.Net

Tags |

Fileupload Kontrolü

Tarih : 24 Haziran 2009 by admin

Fileupload kontrolü sunucuya dosya göndörmek için kullanılır. Asp.NET ‘te fileupload kontrolü ile dosya transferi bir kaç satır kod ile yapılabilir. Bu kontrol ile sunucuya yüklediğimiz dosyanın tüm özelliklerini kolayca elde edebiliriz. Bu dersimizde ayrıca çoklu dosya gönderme örneğide yapacağız. Şimdi örneklerle dersimize başlayalım.İlk olarak şunu söylemeliyiz. Dreamweaver da Fileupload kontrolüne görsel olarak destek verilmiyor. Yani kodları elle yazmamız gerekiyor. Şimdi örneğimizi yapalım.

<%@ Page Language="VB"%>
<script runat="server">
Sub upload(Src As Object, E As EventArgs)
FileUpload1.SaveAs("c:\resimler\" & FileUpload1.FileName)
FileUpload1.SaveAs(Server.MapPath("resimler/") & FileUpload1.FileName)
End Sub
</script>
<html><body>
<form runat="server">
<asp:FileUpload ID="FileUpload1" runat="server"/>
<asp:Button ID="Button1" Text="Yükle" runat="server" onclick="upload" />
</form></body></html>

Şimdi örneğimizi açıklamaya başlayalım. 9. satırda Fileupload kontrolünün sayfaya nasıl ekleneceğini görüyoruz. Hemen yanında bulunan butona tıkladığımızda upload adlı kod bloğuna gidiyor ve kodlar çalışıyor. Fileupload kontrolü aşağıdaki resimdeki gibidir.

fileupload

Gözat butonuna tıklayıp dosya seçtiğimizde ki bu herhangi bir dosya türü olabilir, dosyanın tüm özellikleri fileupload kontrolü ile elde edilir. 4. satırda seçtiğimiz dosyayı bilgisayarımızda istediğimiz yere kaydedebiliriz. Fakat seçtiğimiz dosyaları kendi bilgisayarımıza değilde sitemizin bulunduğu sunucu üzerine yükleyeceğimiz zaman 5. satırdaki kodları kullanırız. 5. satırdaki Server.MapPath(“resimler/”) kodu sunucumuzun kök dizinindeki resimler klasörünü belirtir.

FileUpload1.FileName kodu seçtiğimiz dosyanın ismidir. Örnek olarak seçtiğimiz dosya araba.jpg ise bu dosya sunucuya /resimler/araba.jpg yoluyla yüklenir. FileUpload1.SaveAs() kodu ise parantez içindeki dosyayı sunucuya kaydeder.
Fileupload kontrolü ile sunucuya istediğimiz uzantıda, boyutta, çözünürlükte vs. özelliklerinde dosya yükleyebiliriz. Şimdi aşağıdaki örneklerle fileupload kontrolünün bu özelliklerini görelim. Kodların karışık olmaması için her özelliği ayrı ayrı örneklerde veriyorum.

Dosyanın seçilip seçilmediğini kontrol etme;

<%@ Page Language="VB"%>
<script runat="server">
Sub upload(Src As Object, E As EventArgs)
If FileUpload1.HasFile Then
FileUpload1.SaveAs(Server.MapPath("resimler/") & FileUpload1.FileName)
response.write("Dosya Büyüklüğü:" & FileUpload1.PostedFile.ContentLength & "<br/>")
response.write("Dosya Formatı:" & FileUpload1.PostedFile.ContentType & "<br/>")
response.write("Dosya İsmi:" & FileUpload1.PostedFile.FileName)
End if
End Sub
</script>
<html><body>
<form runat="server">
<asp:FileUpload ID="FileUpload1" runat="server"/>
<asp:Button ID="Button1" Text="Yükle" runat="server" onclick="upload"/>
</form></body></html>

Bu örnekte 4. satırda Fileupload kontrolünde seçili bir dosyanın olup olmadığı kontrol ediliyor. HasFile dosya varmı anlamına gelmektedir. 6. satırda FileUpload1.PostedFile.ContentLength kodu ile dosyanın büyüklüğünü byte cinsinden buluyoruz. 7. satırda dosya türünü, 8. satırda dosya ismini ekrana yazdırıyoruz.

Dosyanın boyutunu kontrol etme;

<%@ Page Language="VB"%>
<script runat="server">
Sub upload(Src As Object, E As EventArgs)
If FileUpload1.HasFile Then
If FileUpload1.PostedFile.ContentLength < 200000 Then
FileUpload1.SaveAs(Server.MapPath("resimler/") & FileUpload1.FileName)
else
response.Write("Dosya boyutu izin verilenden fazla")
End if
End if
End Sub
</script>
<html><body>
<form runat="server">
<asp:FileUpload ID="FileUpload1" runat="server"/>
<asp:Button ID="Button1" Text="Yükle" runat="server" onclick="upload" />
</form></body></html>

Bu örnekte 5. satırda dosyanın boyutunun 200 KB dan az olması şartı aranıyor. Boyut 200 Kb dan küçük değilse ekrana uyarı veriyor.

Dosya uzantısını kontrol etme;

İstediğimiz uzantıda dosyalar yüklemek için dosya uzantısını tespit edip kodları ona göre yazmalıyız. İşte örnek:

<%@ Page Language="VB"%>
<script runat="server">
Sub upload(Src As Object, E As EventArgs)
If FileUpload1.HasFile Then
dim uzanti as string
uzanti = System.IO.Path.GetExtension(Fileupload1.FileName)
if (uzanti=".gif" or uzanti=".jpg" or uzanti=".jpg") then
FileUpload1.SaveAs(Server.MapPath("resimler/") & FileUpload1.FileName)
else
response.Write("Sadece gif,jpg ve png uzantılı dosyaları yükleyebilirsiniz.")
end if
End if
End Sub
</script>
<html><body>
<form runat="server">
<asp:FileUpload ID="FileUpload1" runat="server"/>
<asp:Button ID="Button1" Text="Yükle" runat="server" onclick="upload" />
</form></body></html>

Bu örnekte  6. satırda dosya uzantısı tespit ediliyor ve uzanti adlı string türündeki değişkene aktarılıyor.  7. satırda uzanti değişkeninin gif, jpg veya png olup olmadığı şartı aranıyor, şart sağlanırsa dosya yükleniyor sağlanmıyorsa ekrana uyarı veriyor.

Tüm örneklerin kaynak dosyalarına buradan ulaşabilirsiniz.

Yazıyı Paylaşın!

1 Yorumlar

  1. Metin Says:

    Elinize sağlık süper bir anlatım olmuş

Yorum Yaz

Takvim

Mayıs 2012
Pts Sal Çar Per Cum Cts Paz
« Oca    
 123456
78910111213
14151617181920
21222324252627
28293031