Asp.Net FileUpload – Düğmeye Tıklamadan Sunucuya Dosya Yükleme

upload_header
Asp.Net FileUpload kontrolü ile seçilen dosyayı butona tıklamadan dosya seçimi yapıldıktan sonra yükleme işlemini otomatik olarak nasıl yapacağız onu anlatacağım.
İlk olarak form üzerine bir FileUpload nesnesi ekliyoruz

<asp:FileUpload ID="FileUpload1" runat="server"  ClientIDMode="Static"  onchange="dosyayukle()"/>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

FileUpload nesnesinin onchange olayına dosyayukle() metodunu ekliyoruz bu metot ile FileUpload nesnesinde bir değişiklik olunca dosyayukle() metodu çalışacak.
Şimdi bu fonksiyonu yazmak için pre> etiketleri arasına

<script src="http://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
    function dosyayukle() {
        var value = $("#FileUpload1").val();
        if (value != '') {
            $("#form1").submit();
        }
    };
</script>

ekliyoruz burada dosyayukle() fonksiyonu çalışınca FileUpload1 nesnesinden bir değer gelmişse form1 nesnesini gönderiyoruz (submit) evet son olarak bu gönderme işlemi yapılınca dosya yüklemesi için Page_Load olayına aşağıdaki kodları yazıyoruz.

 protected void Page_Load(object sender, EventArgs e)        
{
            if (IsPostBack && FileUpload1.PostedFile != null)
            {
                if (FileUpload1.PostedFile.FileName.Length > 0)
                {
                    FileUpload1.SaveAs(Server.MapPath("~/images/") + FileUpload1.PostedFile.FileName);
                    Label1.Text = FileUpload1.PostedFile.FileName + " yüklendi..";
                }
            }
        }

images klasörüne FileUpload1.SaveAs metodu ile FileUpload1 nesnesinden gelen dosyayı yüklüyoruz ve label1 nesnesinde “dosyaadı yüklendi” şeklinde mesaj gösteriliyor.

  • Klima

    Oldukça açıklayıcı ve faydalı bir paylaşım. Emeğinize sağlık. Klima