estoy haciendo una web en aspx.net. Trabajo con ficheros guardados en el servidor y que los usuarios pueden descargar a través de unos enlaces que les imprimo.
Bien, os intentaré explicar el problema. Cuando tras pulsar sobre un enlace (por ejemplo un documento .doc) y en el dialogo "Save As" que les aparece pulsan abrir, Microsoft Word abre el documento. Todo esto lo hace bien, el problema viene cuando dicho documento tiene tildes, eñes, etc.
El diálogo "Save as" logro que me imprima correctamente el nombre del archivo mediante la función Server.UrlPathEncode(strNombreFichero), pero cuando el documento se abre, el nombre de éste aparece con carácteres extraños que reemplazan a las tildes, eñes, etc...
Por último añadir, que irremediablemente he de hacer que funcione para IE7 o posteriores. Ya que con Firefox y Chrome no hay ningún problema.
Os adjunto el código que uso.
Gracias de antemano.
Código ASP:
Ver original
Private Sub DescargarFichero(ByVal strRutaFichero As String, ByVal strNombreFichero As String) Try Response.Clear() Dim enCodeFileName As String = Server.UrlPathEncode(strNombreFichero) Response.ContentType = "application/docx; charset=utf-8" Response.AddHeader("Content-Disposition", "attachment; filename=" + enCodeFileName) Response.Flush() Response.WriteFile(strRutaFichero) Response.[End]() logger.Debug("Recurso descargado con éxito.") Catch exc As Exception logger.Error(exc.Message + vbLf + exc.StackTrace) End Try End Sub