Osman KURT

Kendime Not

ASP.Net de Klasör İçinde ki Dosyaları Sayfa da Görüntüleme

Sevgili programcı arkadaşlarım bu yazımda size kullandığımız bir klasör içinde bulunan image dosyalarını sayfada görüntüleme konusunda yardımcı olacağım. İsterseniz hiç vakit kaybetmeden kodlarımızı yazmaya geçelim. Bu nerde işimize yarayacak derseniz sınırlı hosting kullanımlarında çok yer kaplayan image dosyalrımızı sağlıklı bir şekilde yönetmemize yarayacaktır diye düşünüyorum.

İlk Olarak bir proje oluşturuyoruz ve gelen default.aspx dosyamıza bir adet panel atıyoruz.

<asp:Panel ID="Panel1" runat="server">
</asp:Panel>

Panelimizi attıktan sonra kod kısmımıza geçelim ve kodlarımızı yazmaya başlayalım.

default.aspx.cs dosyamıza geliyoruz ve alt kısımda görüdüğünüz kodları yazmaya başlıyoruz.

 DirectoryInfo klasorBilgisi = new DirectoryInfo(@"C:\Users\osmankurt\Desktop\ResimeYaziYazma\Resim");

        foreach (FileInfo dosya in klasorBilgisi.GetFiles("*.*"))
        {
            Literal ltr = new Literal();
            Panel1.Controls.Add(ltr);

            ltr.Text = "<a href='Resim/"
                + dosya.Name + "'/><img src='Resim/"
                + dosya.Name + "' width='100px' height='100px' border='0'></img></a>" + "<br/>Resim/" + dosya.Name + "<br/>";
        }

Bu kodlarımızın çalışması için sayfanın en üst kısmına

using System.IO;

Kütüphanemizi ekliyoruz.

Bu kodlarımızı ben sayfamın page_load olayına yazdım sayfa yüklendiğinde otomatik olarak linklerini ve resimlerin görüntüledim.

Umarım faydalı bir yazı olmuştur.

Görüşmek üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net de Resime Boyut Verme

Birçok projemizde kullanmamız gerekn bir olay bu. Yaptığımız projede resim galerisi yapıyoruz ama galerideki resimleri listelediğimizde o sayfaya giren kişinin bilgisayarı çok fena kasılıyo ve buda web sayfanızın ziyaretçi kitlesini hızlı bir şekilde aşşağıya çekebiliyor. Buda normal bir olay. Çünkü siz tutup 1027x768 px lik bir resmi 100x100 px bir boyutta gösteriyosunuz tmm ama resmin orjinal boyutu büyük olduğu için hem yüklenirken hemde gösterilirken pc yi kasacaktır. Bende bu hatayı çok yaptım. O yüzden bu kodu yazmaya başladım. Boşuna dememişler yazılım ihtiyaçtan doğar diye.

Şimdi ilk olarak Boyut.aspx dosyası oluşturalım ve içini alt kısımdaki gibi dolduralım.

<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<asp:Button ID="Button1" runat="server" Text="İşlem Yap"
onclick="Button1_Click" /><br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button2" runat="server" Text="Sil" onclick="Button2_Click" />

Bu kısmı oluşturduktan sonra isterseniz asıl kod kısmımızı yazma başlayalım. hemen boyut.aspx.cs dosyamıza geçiyoruz ve kodlarımızı yazıyoruz.

private void boyutlandir(string fileName)
{
Bitmap orjinalResim = new Bitmap(Server.MapPath(fileName));
int resimGenislik = 600;
int resimYukseklik = 450;
Size yeniResimBoyut = new Size(Convert.ToInt32(resimGenislik), Convert.ToInt32(resimYukseklik));
Bitmap boyutlandirResim = new Bitmap(orjinalResim, yeniResimBoyut);
boyutlandirResim.Save(Server.MapPath("~/Resim/" + fileName), ImageFormat.Jpeg);
}
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string resimAd = FileUpload1.FileName;
FileUpload1.SaveAs(Server.MapPath(FileUpload1.FileName));
boyutlandir(resimAd);
}
}
protected void Button2_Click(object sender, EventArgs e)
{
try
{
File.Delete(Server.MapPath("~/Resim/"+TextBox1.Text));
Response.Write(alarmVer.msjBox("Resim Başarıyla Silinmiştir","boyut.aspx"));
//ya classı oluşturun yada bu satırı yazmayın...
}
catch (Exception)
{
Response.Write(alarmVer.msjBox("Hata Oluştu", "boyut.aspx")); //ya classı oluşturun yada bu satırı yazmayın...
}

}

Bu kodlarımızı yazdıktan sonra işlemimizi sonlandırıyoruz.

Ha Unutmadan boyut.aspx.cs dosyamızın en üst kısmına alt kısımdaki kütüphaneleri ekliyoruz yoksa projemiz çalışmıyacaktır.

using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

Sonraki yazımızda Görüşmek Üzere;

Osman KURT
Yazılım Geliştirici ve Grafiker

Not: Bu projenin çalışması için http://www.osmankurt.net/post/ASPNet-de-MesajBox-Uygulamasc4b1.aspx linkinde ki class dosyamızı oluşturmanız lazım. Yada mesaj kodlarını kaldırınız.

KucukResimOlusturma.rar (606,19 kb)

Teşekkürler MİCROSOFT

Sevgili Yazılım geliştirici arkadaşlarım size iyi haberim var.

Hepimizin yakınen tanıdığı bazen çok kızdığı bazen de bağrına bastığı Microsoft Visual Studio 2010 da Türkçe ana dil desteği vereceğini ve böylece Türk yazılım geliştiricilerinin teknolojiyi kendi dillerinde daha etkin kullanabileceğini açıkladı. Bu haber beni gerçekten çok mutlu etti neden çünkü visual studio bir derya deniz be biz gerçekten bu konuda eksiğiz.

Herşeye ragmen sağol Microsoft :D

Görüşmek üzere

Osman KURT