Oca102009

Asp.Net File Upload Sunucu Kontrolü

Yusuf Karakaş tarafindan 16:48 tarihinde Asp.Net kategorisine eklenmistir.

       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...



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Etiketler:

E-Posta | Permalink | Geri izlemeler | Yazi RSSRSS comment feed 0 Yorum

Yorumlar