Sözlük

6 Temmuz 2015 Pazartesi

Asp.Net Klasördeki Resimleri Gösterme

Asp.net ile dosya okuma işlemi yaparak bir klasör içindeki resimler nasıl görüntülenir onunla ilgili küçük bir örnek uygulama yapacağız.

İlk olarak projemize resimler isimli bir klasör açıp içine resimlerimizi kopyalıyoruz. Şimdi resimleri ekranda görüntülemek için sayfamıza bir Repeater ekleyip içine resimleri görüntüleyecek olan image nesnemizi koyuyoruz.

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Repeater ID="RepeaterImages" runat="server">
            <ItemTemplate>
                <asp:Image ID="Image" runat="server" ImageUrl='<%# Container.DataItem %>' Width="150"
                    Height="150" />
            </ItemTemplate>
        </asp:Repeater>
    </div>
    </form>
</body>
</html>

Sayfamızın page_load olayında ilk olarak klasördeki dosyaları okuyup bir dizi içine aktarıyoruz daha sonra bu dizi içindeki elemanların resim dosyası olup olmadığını uzantılarını kontrol ederek tespit ediyoruz eğer resim dosyası ise resimler listesine atıyoruz. Tüm dosyalar kontrol edildikten sonra son olarak listeyi eklediğimiz Repeater’ın veri kaynağı olarak belirleyip içini dolduruyoruz.

protected void Page_Load(object sender, EventArgs e)
        {
            string[] klasordekiler = Directory.GetFiles(Server.MapPath("~/resimler"));
            List<String> resimler = new List<string>(klasordekiler.Count());
            string[] resimuzantisi = { ".jpg", ".gif", ".png", ".jpeg" };
            //www.aspnetornekleri.com
            foreach (string resimdosyasi in klasordekiler)
            {
                for (int i = 0; i < resimuzantisi.Length; i++)
                {
                    string[] parcalar;
                    parcalar = resimdosyasi.Split('.');
                    if(resimuzantisi[i]=="."+parcalar[1])
                    resimler.Add(String.Format("~/resimler/{0}", System.IO.Path.GetFileName(resimdosyasi)));
                }
             }
            //www.aspnetornekleri.com
            RepeaterImages.DataSource = resimler;
            RepeaterImages.DataBind();
        }



Hiç yorum yok:

Yorum Gönder