Asp.net ile geliştirdiğiniz uygulamalarda bazı durumlarda sunucuya dosya yüklemek gerekebilir haber sistemi veya galeri uygulamalarında, Asp.net ile dosya upload işlemi için FileUpload Nesnesi kullanılır. Uygulamamız için sayfamıza birer tane FileUpload, Button ve Label Ekliyoruz.
Daha Sonra Button içerisine aşağıdaki kodları yazıyoruz.
if (FileUpload1.HasFile) { FileUpload1.SaveAs(Server.MapPath("/dosyalar/" + FileUpload1.FileName)); Label1.Text = "Dosya yüklendi..."; } else { Label1.Text = "Hata mesajı"; }
butona tıklanınca FileUpload1.HasFile ile dosya seçilip seçilmediği kontrol edilecek eğer yüklenecek dosya seçilmiş ise FileUpload1.SaveAs(Server.MapPath(“/dosyalar/” + FileUpload1.FileName)); satırı ile dosyalar klasörüne yükleme işlemi yapılacak eğer dosya seçilmeden basılırsa Hata mesajı yazacak.
Yaptığımız uygulamada tüm dosyaları yükleyebiliyoruz siz sadece resim dosyaları için yükleme yapacaksanız aşağıdaki kodları kullanabilirsiniz..
if (FileUpload1.HasFile) { /* string uzanti = FileUpload1.FileName.Split('.')[(FileUpload1.FileName.Split('.').Length - 1)]; if (uzanti == "jpg" || uzanti == "png" || uzanti == "bmp" || uzanti == "gif") {*/ FileUpload1.SaveAs(Server.MapPath("/dosyalar/" + FileUpload1.FileName)); Label1.Text = "Dosya yüklendi..."; //} } else { Label1.Text = "Hata mesajı"; }
Hocam bu kodu yazdıgımda derleme hatası veriyor acaba neden olabılır
oluşan hatayı yazarsanız yardımcı olmaya çalışırım
Çok teşekkür ederiz hocam yalnız benim bir sorum olacak. Ben bu yöntemi profil resmi kaydetmede kullanmak istiyorum o yüzden resmin adını txtKullanıcı.Text ten çekip kaydetmek istiyorum. Acaba bunu nasıl yapabilirim?
http://www.aspnetornekleri.com/fileupload-ornekleri/asp-net-fileupload-kullanimi-yuklenen-dosyanin-adini-degistirme.html
Label1.Text= FileUpload1.FileName;
if (FileUpload1.HasFile)
{
string extension = Path.GetExtension(FileUpload1.PostedFile.FileName);
FileUpload1.SaveAs(Server.MapPath("/dosyalar/" + TextBox1.Text + extension));
Label1.Text = "Dosya başarılı bir şekilde yüklendi: " + TextBox1.Text + extension;
}
else
{
Label1.Text = "Hata mesajı";
}