merhabalar, asp.net üzerinde resim saklama işlemlerini veritabanımızda resmi arraylerini alarak saklamak yerine sadece resim yolunu saklayarak daha performanslı ve daha az yer kaplayacak bir şekilde bu işlemi yapacağız.
Bunun için öncelikle bir adet fileupload ve bir adet yükle buttonunu ekliyoruz ve attığımızı göstermek için ise bir adette image kontrolu ekliyoruz ve kodlamaya başlıyoruz.
önemli bir dipnot ajax fileupload'u desteklemiyor.
if (Ful1.HasFile) // fileuploadumuzda eğer bir dosya var ise
{
string dosyaismi = Convert.ToString(Ful1.FileName); // fileupload nesnesinden dosya ismini aldık
string DosyaTipi = Ful1.PostedFile.ContentType; // fileupload nesnesinden dosyanın tipini aldık
if ( DosyaTipi != "image/gif") //eğer dosyatipi farklıysa resimden
{
Response.Write("Sadece Resim Dosyaları seçilmelidir."); //uyarı mesajımız
return; // ve bu kod boluğundan cıkıyoruz.
}
//eğer dosyatipi resim ise zaten buradan devam edecek. Ful1.SaveAs(MapPath("~/fotolar/" + dosyaismi)); //resim dosyasını projemizin içindeki fotolar klasorune aktarıyoruz.
SqlConnection con = new SqlConnection(); // connectionımız
SqlCommand com = new SqlCommand(); // commandımız
con.ConnectionString = "bağlantı";
com.CommandText = "insert into tblfotograflar(foto) values(@foto)"; // command textimiz
com.Parameters.AddWithValue("@foto", dosyaismi); //parametremizi set ettik
com.Connection = con;
com.CommandType = CommandType.Text;
try
{
con.Open();
com.ExecuteNonQuery(); // commandı yürüttük
img.ImageUrl = "~/fotolar/" + dosyaismi; // sitemize save ettiğimiz resmi ve resimin ismini dbmize başarılı bir şekilde attıktan sonra image nesnemizde gösteriyoruz.
/***
şimdi bu dosya yolunu veritabanına atma olayından başka olarak
göstermesi kaldı bunun için ise
tablonuzdan dosyaismini select çekiceksiniz gelen değikeni
gene bir image kontrolunun imageurl propertysine set ediceksiniz.
herhangi bir sormak istediğiniz birşey var ise bana mail atarak yada
konuya yorum yazarak sorabilirsiniz.
*/
Response.Write("Resim Aktarıldı");
}
catch (Exception exm)
{
Response.Write(exm.Message);
}
finally
{
con.Close();
}
}
else // fileupload da dosya yok ise uyarı veriyoruz.
{
Response.Write("Bir Resim Dosyası Seçmediniz!");
}
4 kişi tarafından 3.0 olarak değerlendirildi
- Currently 3/5 Stars.
- 1
- 2
- 3
- 4
- 5