28 Aralık 2013 Cumartesi

Asp.net Dosya upload sırasında dosyaya rastgele isim vermek

Öncelikle static bir class içerisinde static bir method tanımlıyoruz. İsterseniz static tanımlamadan da yapabilirsiniz. Ama bunu yaparsanız class'ın örneğini türetmeniz gerekir.
public static string RastgeleString(int Length)
{
string characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; //Rastgele değer oluşturacak string değerimiz.
Random rd = new Random(); //Rastgele değer üreten sınıfımız
string a = ""; //Boş bir string tanımlıyoruz.
for (int i = 0; i < Length; i++)
a+=characters[rd.Next(0, characters.Length)]; //Method değişkeni kadar for ile dönüp her dönüş tanımladığımız boş string'e += ile ekliyoruz.

return a; //Oluşan stringi geri döndürüyoruz.
}
Şimdi rastgele isim üretip dosyayı yükleyelim..
string file_name = Methot.RastgeleString(10);

if (FileUpload.HasFile)
{
string type = Path.GetExtension(FileUpload.FileName); // .jpg, .doc, .pdf şeklinde dosya uzantısı döner.
string full_name = file_name + type; //Rastgele oluşturduğumuz isimle dosya tipini birleştiriyoruz.

FileUpload.SaveAs(Server.MapPath("~/dosyayolu/" +full_name)); //FileUpload'ın SaveAs methoduyla dosyanın yeni ismini verip kaydediyoruz.

}
İyi Kodlar!

Kaynak / Source: http://kodstrap.com/makale-dosya-upload-sirasinda-dosyaya-rastgele-isim-vermek-10