none
Listando conteudo de pasta para download RRS feed

  • Pergunta

  • Bom dia pessoal.

    Estou com um pequeno probleminha que acredito que vocês possam me ajudar. Vamos lá.
    Eu tenho essa funcção abaixo que lista o conteudo de uma pasta em um gridview. Porem agora quero adcionar um link para download desses arquivos e não sei como fazer. Gostaria de uma ajudinha.
    Agradeço a ajuda desde já.

    segue o link:


        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            loadFolder(GridView1, Server.MapPath("~\E:\Acesso Remoto"))
        End Sub

        Public Sub loadFolder(ByVal gv_arquivos As GridView, ByVal folder As String)
            Dim pasta As DirectoryInfo = New DirectoryInfo(folder)
            Dim subPastas() As DirectoryInfo = pasta.GetDirectories
            Dim arquivos() As FileInfo = pasta.GetFiles
            Dim dt As DataTable = New DataTable

            dt.Columns.Add("Nome")
            dt.Columns.Add("Tamanho")
            dt.Columns.Add("Tipo")
            dt.Columns.Add("Modificado")
            dt.Columns.Add("Download")
            If (folder <> "") Then
                Dim dr1 As DataRow = dt.NewRow
                dr1("Nome") = "../"
                dr1("Tamanho") = ""
                dr1("Tipo") = ""
                dr1("Modificado") = ""
                dr1("Download") = ""
                dt.Rows.Add(dr1)
            End If
            For Each dir As DirectoryInfo In subPastas
                Dim dr As DataRow = dt.NewRow
                dr("Nome") = ("/" + dir.Name)
                dr("Tamanho") = "-"
                dr("Tipo") = "Diret�rio"
                dr("Modificado") = dir.LastWriteTime.ToString("dd/MM/yyyy")
                dr("Download") = "Download"
                dt.Rows.Add(dr)
            Next
            For Each file As FileInfo In arquivos
                Dim dr As DataRow = dt.NewRow
                dr("Nome") = file.Name
                dr("Tamanho") = (Convert.ToString((file.Length / 1024)) + " kb")
                dr("Tipo") = file.Extension
                dr("Modificado") = file.LastWriteTime.ToString("dd/MM/yyyy")
                dr("Download") = "Download"

                dt.Rows.Add(dr)
            Next

            gv_arquivos.DataSource = dt
            gv_arquivos.DataBind()
        End Sub

    segunda-feira, 14 de janeiro de 2013 13:45

Respostas

  • Veja

     Public Sub DownloadFile(ByVal targetfullname As String)
            Dim filepath As String
            filepath = HttpContext.Current.Server.MapPath(targetfullname)
            Dim file As FileInfo = New FileInfo(filepath)
            If file.Exists() Then
                Response.Clear()
                Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name)
                Response.AddHeader("Content-Length", file.Length.ToString())
                Response.ContentType = "application/octet-stream"
                Response.WriteFile(file.FullName)
                Response.End()
            End If
        End Sub


    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    segunda-feira, 14 de janeiro de 2013 18:11
    Moderador