Por qué no me funciona este codigo?

Iniciado por luison, 24 Septiembre 2010, 21:57 PM

0 Miembros y 1 Visitante están viendo este tema.

luison

Código (vbnet) [Seleccionar]

Sub DownloadFile(ByVal virtualPath As String)
        ' retrieve the physical path of the file to download, and create
        ' a FileInfo object to read its properties
        Dim FilePath As String = Server.MapPath(virtualPath)
        Dim TargetFile As New System.IO.FileInfo(FilePath)

        ' clear the current output content from the buffer
        Response.Clear()
        ' add the header that specifies the default filename for the Download/
        ' SaveAs dialog
        Response.AddHeader("Content-Disposition", "attachment; filename=" + _
         TargetFile.Name)
        ' add the header that specifies the file size, so that the browser
        ' can show the download progress
        Response.AddHeader("Content-Length", TargetFile.Length.ToString())
        ' specify that the response is a stream that cannot be read by the
        ' client and must be downloaded
        Response.ContentType = "application/octet-stream"
        ' send the file stream to the client
        Response.WriteFile(TargetFile.FullName)
        ' stop the execution of this page
        Response.End()
    End Sub

+---------------------------------------------------------------+
Lo que quiero lograr es que usuarios de mi sitio asp.net, puedan descargar archivos, pero hasta ahorita, ese codigo
funciona del lado del servidor, cuando publico el sitio y lo intento, se descarga el archivo pero con contenido
del front de la pagina donde hago click para descargar, o bien con caracteres raros.

Alguien sabe a que se debe que no me funcione del lado del cliente?

Gracias por sus comentarios.