Asp.net ile dosyaları upload etme sistemi ile artık eskiye nazaran upload sistemi çok daha pratik hale gelmiş durumda.
Öyleki Asp.net sayfa öğesine enctype niteliğinin, sayfanın form öğesine dahil olması gibi özellikleri yerine getirir.
File Upload Sunucu Kontrolü
Neler Yapabiliriz?
Dosyaları sunucuya aldıktan sonra;
-
Dosyaların özelliklerini alabilir ;
-
Bu özellikleri kullanıcıya gösterebilir;
-
Ve bu değerleri background kod olarak kullanabiliriz.
Örnek Ugulama
Sayfamıza 1 er adet buton,label ve Fileupload sunucu kontrolü ekleyelim…
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
try
{
FileUpload1.SaveAs("c:\\uploads\\" + FileUpload1.FileName); // dosyanın kaydedilceği yeri seçmek için kullanılır...
Label1.Text = "File name:" + FileUpload1.PostedFile.FileName + "<br>" + // kaydedilen dosyaya, kayıt yapılan dosyaya aynı adı vermek için kullanılır.
FileUpload1.PostedFile.ContentLength + "<br>" + // İçerik ile ilgili bilgiler...
"İçerik Türü:" + FileUpload1.PostedFile.ContentType; //İçerik türünü belirtmemizi sağlar.
}
catch (Exception hata)
{
Label1.Text = "Hata:" + hata.Message.ToString(); //herhangi bir hata durumunda geriye döndürülecek değer...
}
else
{
Label1.Text = "Bir Dosya seçmelisiniz...";// FileUpload kontrolü boş bırakıldığında çalışacak blog...
}
}
Görüldüğü üzere Asp.Net ile upload işlemi bu denli basit…Ancak dosyaların başka bir
server’a yüklenmesi , hata olasılığı içeren bir sistemdir.O yüzden istisna yöntemi
kullanılarak upload işlemi gerçekleştirilmesi tavsiye edilir.
Dosya Büyüklük Sınır Ayarları
Takdir edilir ki upload işlemleri sırasında dosya boyut sınırlaması önemlidir. Asp.Net ile de bu gibi işlemler
bilindiği üzere web config de ayarlanır.Varsayılan olarak izin verilen dosya büyüklüğü yaklaşık olarak 4 mb dır.
Web config içinde <httpruntime> ile bu ayarlamaları yapabiliriz..
En önemli 2 özelliğinden bahsetmek istiyorum..
maxrequestlength ve executiontimeout
Maxrequestlength ; web sunucsuna talep edilen büyüklüğün ayarlanmasını sağlar.
Bu özellikle dosya boyutunu değiştirebiliriz.Örneğin;
maxRequestLength=”22000” dosya büyüklüğü yaklaşık 20 mb olur.
executionTimeout; aslına bakılırsa bu özellik maxrequestlength özelliği ile eş zamanlı çalışır.
Bu özellik talebin Asp.net tarafından sona serip ermememisinden bağımsız olarak
kapatılmadan önce ne kadar süre uygulanacağı belirtilir.
Not:Unutulmamalı ki küçük dosyalar ile çalışıyor isek maxrequestlenght ayarını da küçük tutmamız gerekir.Ve buna bağlı olarak executiontimeout ayarının yapılması gerekir.
Yusuf KARAKAŞ
Saygılarımla...
Etiketler: