Görsel Programlama III Ders 8 Öğr.Gör. Mustafa KARABULUT
Konular FileUpload nesnesi System.IO nesnesi metotları ◦ Göreceli yol ve fiziksel yol kavramı
FileUpload kontrolü Kullanıcılar tarafından sunucuya dosya göndermek için FileUpload kontrolü kullanılır
FileUpload Kontrolü Kullanıcı dosyayı seçtikten sonra, oluşan herhangi bir PostBack olayında seçilen dosya sunucuya otomatik yüklenir ve geçici bir depolama bölgesinde tutulur Dosyanın yüklenmesi için Button click gibi bir olayın oluşarak, formun sunucuya gönderilmesi gerekmektedir. Dosya programcı tarafından işlenmezse (olması gereken yere kopyalama gibi) kendili ğ inden silinir
FileUpload Kontrolü Dosya sunucuya yüklendikten sonra FileUpload kontrolü üzerinden şu aşa ğ ıdakilere erişebiliriz: ◦ FileName: Yüklenen dosyanın orijinal adı ◦ HasFile : Dosya seçilip yüklenmişse true, yüklenmemişse false döndürür. ◦ SaveAs(…) : Dosyayı geçici kayıt alanından, başka bir yere taşımak için kullanılır. Bu metoda dosyayı kaydetmek istedi ğ imiz tam yol yazılmalıdır
FileUpload Kontrolü Aşa ğ ıdaki örnek uygulamada, FileUpload ve Button bulunan sayfada, kullanıcı “Yükle” dü ğ mesine bastı ğ ında seçilen dosyayı “image” klasörüne yüklemek istiyoruz
FileUpload Kontrolü Button1 Click içinde
FileUpload Kontrolü Server.MapPath: Verilen göreceli yolu tam fiziksel yola çevirmektedir Göreceli yol: ◦ images/a.jpg Tam yol: ◦ C:\Users\mkarabulut\Desktop\gorsel 3\uygulamalar\Ders 8- 1\images\a.jpg System.IO içinde bulunan dosya sistemi komutları her zaman tam yol üzerinden çalışmaktadır (SaveAs işlemi gibi) Fakat web sayfasında dosyalar gösterilirken göreceli yol ile gösterilmektedir
FileUpload Kontrolü Resimler bu şekilde image klasörüne yüklendikten sonra, bu resimleri bir DataList aracılı ğ ıyla, sayfamızda listeleyebiliriz DataList
FileUpload Kontrolü Page_Load içine yazılan bu kodlar, sayfa her yüklendiğinde DataList içine “image” klasöründeki resimleri doldurmaktadır.
FileUpload Kontrolü Directory.GetFiles ve Path.GetFileName metodlarını kullanmak için koda System.IO kütüphanesi dahil edilmelidir Directory.GetFiles: Verilen klasör içindeki dosyaların listesini dizi olarak döndürür. Dönen dizi dosyaların tam yollarını içermektedir. Dönen dizi şu şekilde bilgi içermektedir: ◦ C:\users\mkarabulut\desktop\....\a.jpg ◦ C:\users\mkarabulut\desktop\....\b.jpg ◦ C:\users\mkarabulut\desktop\....\c.jpg ◦ …..
FileUpload Kontrolü Path.GetFileName: Verilen bir tam yolun içinde dosya adını seçip geri döndürmektedir ◦ string yol = “c:\\users\\mkarabulut\\a.doc”; ◦ string dosya = Path.GetFileName(yol); ◦ (dosya içinde “a.doc” atanır)
FileUpload Kontrolü DataList’in ASPX tarafından ki kodları da şu şekilde olacaktır