Asp.Net Gridview Dosya İndirme İşlemi

Asp.net ile dosyaları yükleme ve yüklenen dosyalarının isimlerini veri tabanına kaydetme işlemini Asp.Net Dosya Yükleme ve Dosya Adını ve Yolunu Veritabanı’na Kaydetme konusunda anlatmıştık; şimdi yüklenen dosyaları bir gridview içerisinde gösterip dosyalarını indirme işlemini yapalım. Bir önceki örnekte kullandığımız veritabanı ve dosyayapısını kullanarak o örnek üzerinden gideceğiz..
Bunun için sayfamıza bir gridview ekleyip dosyaları indirmek içinde bir link vereceğiz
gridviewdosyaindirme

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>www.aspnetornekleri.com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="id" DataSourceID="AccessDataSource1" OnRowCommand="GridView1_RowCommand">
            
            <Columns>
            <asp:TemplateField HeaderText="Dosya İndir">
    <ItemTemplate>
         <asp:HyperLink runat="server" ID="downloaddosya" NavigateUrl='<%# Eval("dosyaadi","~/yuklenendosyalar/{0}") %>'>Download</asp:HyperLink>
   </ItemTemplate>
</asp:TemplateField>
                <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                    ReadOnly="True" SortExpression="id" />
                <asp:BoundField DataField="dosyaadi" HeaderText="dosyaadi" 
                    SortExpression="dosyaadi" />
                <asp:BoundField DataField="aciklama" HeaderText="aciklama" 
                    SortExpression="aciklama" />
                         </Columns>
                    </asp:GridView>
        <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
            DataFile="~/App_Data/dosyalar.accdb" SelectCommand="SELECT * FROM [dosya]">
        </asp:AccessDataSource>
    </div>
    </form>
</body>
</html>

Dosyaları indirebilmek için gridview içerisine bir download alanı ekliyoruz. NavigateUrl=’<%# Eval("dosyaadi","~/yuklenendosyalar/{0}") %>‘ satırı ile kullanıcının dosyaları indirlebilmesi için linkleri oluşturuyoruz.
gridviewdosyaindirme1

  • özge

    Teşekkürler :)

  • Onur Alp

    Hocam bu işlemi linkbuttonla nasıl yaparız repeater verileri çektik link buttonua içine koyduk repeaterın ama indirimiyorum bir türlü ?

    • BilisimOgretmeni

      linkbutton yapısı


      <asp:LinkButton ID="LinkButton1" CommandArgument = '' runat="server" OnClick = "indir">İndir

      code behind bölümünde aşağıdaki kodları yazman yeterli
      protected void indir(object sender, EventArgs e)
      {
      string dosyayolu ="~/yuklenendosyalar/"+ (sender as LinkButton).CommandArgument;
      Response.ContentType = ContentType;
      Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(dosyayolu));
      Response.WriteFile(dosyayolu);
      Response.End();
      }

  • ŞAHİN Kaptan

    visual studioda bindingnavigator özelliginde bulunan kaydet sil yeni kayıt özellikleri dışında bulunan combobox textbox progressbar kullanımı ile ilgili bir döküman varsa yayınlamanız mümkünmü

  • ogrenci

    Sağolun çok teşekkürler :)

    • BilisimOgretmeni

      rica ederim iyi çalışmalar kolay gelsin…