Ingens Networks  Ingens Developments  Ingens Biometrics  Ingens Hostings

Símbolos extraños en Response

06 febrero 2012 16:39 by daniel.comas

Puede que alguna vez nos hayamos encontrado con problemas de símbolos (tildes, ñ, espacios,…) cuando queremos abrir un fichero en una página. 

 

 

El problema viene porque cada navegador tiene una forma diferente de codificar el contenido.  Para solucionarlo realizamos un método que adjuntará un archivo PDF (Testeado con IE, Firefox, Safari, Chrome y Opera):

 

Protected Sub OpenReportInBrowser(ByVal filename As String, ByVal stream As System.IO.MemoryStream)        
        Dim contentDisposition As String = ""

        If Request.Browser.Browser = "Firefox" Then
            contentDisposition = "attachment; filename*=UTF-8''" + Uri.EscapeDataString(filename)
        ElseIf Request.Browser.Browser = "Safari" Then
            contentDisposition = "attachment; filename=" + filename
        Else
            contentDisposition = "attachment; filename=" & Uri.EscapeDataString(filename) & ".pdf"
        End If
        
        Response.ContentType = "application/pdf; charset=utf-8"
        Response.AddHeader("content-type", "application/pdf; charset=utf-8")
        Response.AddHeader("Content-Disposition", contentDisposition)        
        Response.AddHeader("content-length", stream.Length.ToString())
        Response.BinaryWrite(stream.ToArray())
        Response.End()
End Sub

Una vez resuelto: 

 

 

Si nos aparece este error: The message received from the server could not be parsed y tenemos un UpdatePanel, consultar aquí.

Tags: ,

.NET

Agregar comentario

biuquote
  • Comentario
  • Vista previa
Loading

Archivo

Pregunta de la semana:

¿Que smartphone utilizas habitualmente?





Show Results

Artículos Recientes

Comentarios Recientes

Comment RSS
 Ingens Networks SL en LinkedIn Ingens Networks SL en Twitter