mehmetduran.com - Paylaşmak Güzeldir...
Asp.net ile Multiupload
Bu makalem de multiupload konusundan bahsedeceğim. İnternette bu konuda makaleler vardı ancak bunları bir türlü çalıştıramadım. Ancak bu konunu üstüne gittim ve yapmayı başardım. Şimdi başlayalım.
Öncelikle basit bir şekilde bir veritabanı hazırlıyoruz ki upload ettiğimiz dosyaları kaydedelim. Ben küçük bir slayt için tasarladım bunu.
Şimdi kodlara bakalım.

public partial class _Default : System.Web.UI.Page {
    OleDbConnection baglanti;
    protected void Page_Load(object sender, EventArgs e){
        baglanti = new OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=" + Server.MapPath("slayt.mdb"));
        ekle(int.Parse(DropDownList1.SelectedValue));
    }
    FileUpload[] f = new FileUpload[30];
    FileUpload[] fu = new FileUpload[30];
    ArrayList kullanilan = new ArrayList();
    string isim;
    // upload edecegimiz kadar upload contolu olusturmak için ekle metodu

    public void ekle(int adet) // kontrol ekleme metodu {
        panelci.Controls.Clear();
        for (int i = 0; i < adet; i++){
            fu[i] = new FileUpload();
            fu[i].ID = "f_" + i.ToString();
            panelci.Controls.Add(fu[i]);
            kullanilan.Add(i); }}
   
// olsturdugumuz controllerden verileri alıp upload etme metodumuz
    public void upload_et(int adet) {
        for (int i = 0; i < adet; i++) {
            f[i] = fu[int.Parse(kullanilan[i].ToString())];
            if (f[i].HasFile){
                isim += f[i].FileName + "ß";
                f[i].SaveAs(Server.MapPath("~/res/") + f[i].FileName); }}
                vt_yaz(isim); }
   
// upload ettiğimiz verileri veritabanına kayıt etme
    public void vt_yaz(string resimler){
        OleDbCommand komut = new OleDbCommand("Insert into slaytlar (slayt_adi,resimler,tarih) Values(@slayt_adi, @resimler, @tarih)", baglanti);
        komut.Parameters.AddWithValue("@slayt_adi", TextBox_adi.Text);
        komut.Parameters.AddWithValue("@resimler", resimler);
        komut.Parameters.AddWithValue("@tarih", DateTime.Now.ToString());
        baglanti.Open();
        komut.ExecuteNonQuery();
        baglanti.Close();}}

Kısaca ne yaptığımız anlatalım. Ne kadar upload edeceksek o kadar kontrol oluşturduk. Ve bunlardan verileri alıp dosyalarımızı upload ettik. İnternette ki makaleler de ben burda takılmıstım. Bunu çözmek için bayağı uğraşmıştım. Çözüm ise; oluşturduğumuz kontrolleri bri dizi içinde tutmak ve onların değerlerini alırken dizinin değerini almak oldu. Böylece dinamik olarak oluşturduğumuz kontrollerin değerlerii rahatlıkla elde ettik. Bu en zor kısımdı. Daha sonra ise klasik programlama bölümü. Herkese kolay gelsin.

Kaynak dosyalara buradan ulaşabilirsiniz.
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Veritabanında Arama Yapma İşlemleri LINQPad Asp.net ve Veritabanı ile XML Oluşturma ve Xsl ile Şekillendirme Asp.net'te Accordion Uygulamasını Veritabanı ile Kullanma Asp.net ile Dinamik Sitemap Hazırlama
Yorumlar
Yorum Yaz
RSS Yorum Takibi
mstfcck 12 Haziran Cuma 2009 02:54 #1
Hocam proje linki ölmüş yenilerseniz sevinirim...
Mehmet Duran 14 Haziran Pazar 2009 11:22 #2
Link yenilenmiştir. Sorun için kusura bakmayın.
bilgin 24 Ağustos Pazartesi 2009 23:20 #3
Tüm siteleri dolaşıyorum bulamıyorum bazı şeyleri burda bulmak ço hoşoluyor::)) beyninize kuvvet
Deniz 13 Ocak Çarşamba 2010 12:38 #4
Slayt ta resim adedi kadar 1,2,3 diye yazdırıp tıkladığında o resme nasıl gidebiliriz? Örnek için teşekkürler.
Mehmet Duran 13 Ocak Çarşamba 2010 14:39 #5
Buradaki örneğimi incelersen istediğin tarzda birşeyi yapabilirsin.
Deniz 14 Ocak Perşembe 2010 10:37 #6
Teşekkürler yardımcı oldu :)
ALİM KESKİN 06 Mayıs Perşembe 2010 09:34 #7
Bu kodları online olarak vb.net çevirince sorun çıkıyor.Bu projenın Vb.net şeklini yapabilirmisiniz.
Teşşekürler.
Not : Resim Galerisi olarak sizin Yaptıgınız Slayt galerisini kullandım buna çok ihtiyacım var.
Mehmet Duran 07 Mayıs Cuma 2010 01:12 #8
Şu anda böyle bir işlemi yapmak için zamanım yok. Verdiği hatayı çözmeye çalışırsan daha iyi olur. Ayrıca illa VB kullanman gerekmiyorsa tek bir projede hem VB hem de C# kodlaması yapabiliyorsun. Bunun için web.config'de küçük bir belirtim yapman yeterli. Bu şekilde aynı örneği kullanabilirsin. Kolay gelsin.
Serdar 17 Mayıs Pazartesi 2010 09:47 #9
for ile birden çok input oluşturularak yapılıyor. Peki bir inputun içine birden çok image veya file nasıl ekleyip upload edicez aynı windows da oldugu gibi bu konu da da yardımcı olabilirimisiniz.
Mehmet Duran 17 Mayıs Pazartesi 2010 22:58 #10
Merhaba. Sanırım buradaki yazımda paylaştığım script ve örnek bahsettiğin konuda yardımcı olacaktır.
mirza 06 Temmuz Salı 2010 11:38 #11
Hocalarım isim += f[i].FileName + "ß"; bu kodlardaki "ß" ne anlama geliyor
Mehmet Duran 06 Temmuz Salı 2010 11:44 #12
Merhaba. Öncelike bu yazının çok önce yazıldığını ve biraz eksik yönleri olduğunu belirteyim. Hazırlanan örnekte dosya isimleri belli bir karakter ile birleştirilerek tek bir string ile ifade ediliyor ve kullanırken de o karaktere göre ayrım yapılarak dosya isimleri elde ediliyor. Söylemiş olduğun karakter ise buradaki işlevi gören karakter. Eğer örneği incelersen daha iyi anlayacağını düşünüyorum.
elif 08 Ekim Cuma 2010 13:58 #13
yanlız örnek çalışmıyor
Mehmet Duran 09 Ekim Cumartesi 2010 11:44 #14
Örneği yazalı ve paylaşalı epey süğre oluyor. Kodlar ve mantık amatörce olabilir. Buna benzer bir örneğin MVC halini buradan paylaşmıştım. Oradaki kodlara bakarak örneği daha iyi kavrayabilirsin.
özgür 05 Nisan Salı 2011 16:05 #15
Emeğine sağlık, teşekkürler.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Ne edersen kendine, edersin kendi kendine.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009