1.433 kez okundu

Asp de fileUpload kontrolu ile birden fazla resim yüklemek

10 10 1.433 kez okundu incelendi

En çok karşılaştığımız durumlardan birisi birden fazla fileupload kullanarak resim yüklemek. Kısaca bunu anlatmaya çalışacağım.

using System;

using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnResimleriYukle_Click(object sender, EventArgs e)
{
//sayfaya 10 tane fileUpload kontrolu ekliyoruz birde button kontrolu ekliyoruz.butona tıklandığı anda (btnResimleriYukle_Click) oalyında resimleri kaydedeceğiz.
//httpfilekoleksiyon oluşturuyoruz gelen tüm resimleri bu koleksiyon içerisine atıcaz
HttpFileCollection uploadedFiles = Request.Files;
//gelenresim adedi kdar for döngüsü içersiinde dönüyorum
for (int i = 0; i < uploadedFiles.Count; i++)
{
//dizi oluşturup her bir fileuploada ulaşıyorum.
HttpPostedFile userPostedFile = uploadedFiles[i];
// sıradaki fileuploda resim yüklenmişise kayıt yapılsın
//10 tane fileupload koyduk diyelim kullanıcı 5 tanesine resim yükledi ozaman boş olanların içinde kaydedecek resim aramayalım boşuna :)
if (userPostedFile.ContentLength > 0)
{
//burada anahtaruret adlı metoda sırdakı fileuoploadın filename ini veriyorum kı gelen resimadında türkçe karakter yada  geçersiz bir karakter varsa temizlenip string tipinden gelenResimAdi adıdnan yenı bir ada sahip oluyor.
string gelenResimAdi = anahtaruret(userPostedFile.FileName);
//artık fileuploaddan aldığımız resimin dosyaadı gelenResimAdi oluyor ve bunu da benzersiz bir karakter üretsin(şifreli) diye makeMD5 metoduna sokuyorumve oradan değeri buyukResimAdi adında bir string yapıyorum.sonuna da dosya fiziksel olarak kaydedilirken uzantısının jpg olmasını sağlıyorum
string buyukResimAdi = makeMD5(gelenResimAdi) + ".jpg";
//artık resim dosyam hazır ve andizizinde images adlı bir kalsor oldugunu varsayıyor ve oraya fiziksel olarak kaydediyorum.
userPostedFile.SaveAs(Server.MapPath("~/urunimages/") + buyukResimAdi);
//resim bilgilerini database e yazmak istersek Resimler adında bir tablo hazırlayıp(sqlde) Id(int) ve ResimAdi(nvarchar(max)) adında bir kolon oluşturup c# tarafında string tipinden resimadı alan bir metoto yazıp metoda resimadi olarak  buyukResimAdi'nı verebilirz.
}
}
}
public static string anahtaruret(string key)
{
key = key.ToLower();
key = key.Replace(' ', '_');
key = key.Replace('ğ', 'g');
key = key.Replace('ü', 'u');
key = key.Replace('ş', 's');
key = key.Replace('ı', 'i');
key = key.Replace('ö', 'o');
key = key.Replace('ç', 'c');
key = key.Replace(",", "");
key = key.Replace('&', '_');
key = key.Replace("(", "");
key = key.Replace(")", "");
key = key.Replace('*', 'x');
key = key.Replace("'", "_");
key = key.Replace("/", "_");
return key;
}
public string makeMD5(string str)
{
str = FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
return str;
}
}
Paylaş !

Yoruma kapali.

Önceki yazıyı okuyun:
Asp de database de ki veriyi xml dosyasına yazdırmak

Bu dersimizde database'teki verileri XML'e yazdırmayı öğrenelim. Aşağıdaki kodları kullanarak bu işlemi gerçekleştirebiliriz. Kodlar arasına gerekli açıklamaları yaptım.

Kapat
Barış Ozcan Facebook Sayfasi
Barış Ozcan Twitter