none
Descargar un PDF desde un ImageButton RRS feed

  • Pregunta

  • Hace tiempo utilizo este código en una aplicación para poder abrir el pdf y descargarlo. Pero algo cambio en el chrome que el Pdf lo abre bien pero al descargarlo me guarda el archivo con la extensión aspx y no pdf.  Sin embargo si renombro la extensión el archivo es correcto. Sin embargo desde Firefox si funciona.  Podrían ayudarme?

    Les pego el codigo.

    Gracias.-

    Protected Sub BBANIO_Click(ByVal sender As Object, ByVal e As ImageClickEventArgs) Handles BBANIO.Click

            Dim filepath As String = Server.MapPath("PDF\" & "Articulos.pdf")

            Dim fileInfo As FileInfo = New FileInfo(filepath)

            If (fileInfo.Exists) Then
                Response.Clear()
                Response.AddHeader("Content-Disposition", "inline;attachment; filename=" + fileInfo.Name)
                Response.AddHeader("Content-Length", fileInfo.Length.ToString())
                Response.ContentType = "application/pdf"
                Response.Flush()
                Response.TransmitFile(fileInfo.FullName)
                Response.End()
            End If

        End Sub

    lunes, 7 de mayo de 2018 18:32

Respuestas

  • Creo que hay un error en el header de Content-disposition. Debería ser inline si quieres que el pdf se muestre en pantalla, o attachment si quieres que se descargue el fichero. Pero tienes puestas las dos cosas a la vez, lo cual entiendo que no es legítimo. Puede que por eso el Chrome se esté haciendo un lío, y no entienda el filename que viene detrás, debido a la cadena superflua introducida en medio del header. En cambio, el Firefox puede que sea más tolerante y siga leyendo y tome el filename.
    • Marcado como respuesta jumafeit martes, 8 de mayo de 2018 12:15
    martes, 8 de mayo de 2018 6:38
  • Creo que hay un error en el header de Content-disposition. Debería ser inline si quieres que el pdf se muestre en pantalla, o attachment si quieres que se descargue el fichero. Pero tienes puestas las dos cosas a la vez, lo cual entiendo que no es legítimo. Puede que por eso el Chrome se esté haciendo un lío, y no entienda el filename que viene detrás, debido a la cadena superflua introducida en medio del header. En cambio, el Firefox puede que sea más tolerante y siga leyendo y tome el filename.
    Perfecto. Ese era el problema. Muchisimas gracias
    • Marcado como respuesta jumafeit martes, 8 de mayo de 2018 12:15
    martes, 8 de mayo de 2018 12:15

Todas las respuestas

  • Creo que hay un error en el header de Content-disposition. Debería ser inline si quieres que el pdf se muestre en pantalla, o attachment si quieres que se descargue el fichero. Pero tienes puestas las dos cosas a la vez, lo cual entiendo que no es legítimo. Puede que por eso el Chrome se esté haciendo un lío, y no entienda el filename que viene detrás, debido a la cadena superflua introducida en medio del header. En cambio, el Firefox puede que sea más tolerante y siga leyendo y tome el filename.
    • Marcado como respuesta jumafeit martes, 8 de mayo de 2018 12:15
    martes, 8 de mayo de 2018 6:38
  • Creo que hay un error en el header de Content-disposition. Debería ser inline si quieres que el pdf se muestre en pantalla, o attachment si quieres que se descargue el fichero. Pero tienes puestas las dos cosas a la vez, lo cual entiendo que no es legítimo. Puede que por eso el Chrome se esté haciendo un lío, y no entienda el filename que viene detrás, debido a la cadena superflua introducida en medio del header. En cambio, el Firefox puede que sea más tolerante y siga leyendo y tome el filename.
    Perfecto. Ese era el problema. Muchisimas gracias
    • Marcado como respuesta jumafeit martes, 8 de mayo de 2018 12:15
    martes, 8 de mayo de 2018 12:15