Foros del Web » Programando para Internet » ASPX (.net) »

Problema Descarga de ficheros

Estas en el tema de Problema Descarga de ficheros en el foro de ASPX (.net) en Foros del Web. Hola a todos, tengo el siguiente problema: El siguiente codigo descarga en el cliente ficheros que provienen del servidor HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.BufferOutput = true; HttpContext.Current.Response.ClearHeaders(); HttpContext.Current.Response.ContentEncoding ...
  #1 (permalink)  
Antiguo 25/02/2008, 04:49
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 1
Problema Descarga de ficheros

Hola a todos, tengo el siguiente problema:

El siguiente codigo descarga en el cliente ficheros que provienen del servidor

HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.BufferOutput = true;
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.Expires = -1000;
HttpContext.Current.Response.ContentType = contentType;
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileNameFinal);
HttpContext.Current.Response.AddHeader("Content-Type", contentType);
HttpContext.Current.Response.BinaryWrite(content);

Todo me funciona correctamente salvo el nombre con el que se salva el fichero en el escritorio (fileNameFinal). Cuando fileNameFinal tiene espacios en blanco me descarga el fichero con el nombre hasta el espacio en blanco, por ejemplo:

fileNameFinal="prueba.html" // Este caso lo hace bien pq no tiene espacios
fileNameFinal="prueba de espacios.html" // En este caso me descarga el fichero con el nombre prueba.

He probado ha hacer un:

fileNameFinal= HttpUtility.UrlPathEncode(fileNameFinal);

pero este me sustituye el espacio en blanco por %20 y se me descarga en el cliente con el %20.

¿Sabeis donde puede estar el problema o alguna solucion para esto?

Gracias!!!!
  #2 (permalink)  
Antiguo 25/02/2008, 05:00
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: Problema Descarga de ficheros

Me he dado cuenta de que con esta linea:

fileNameFinal= HttpUtility.UrlPathEncode(fileNameFinal);

la cual sustituye los espacios por %20. Si descargo el fichero en explorer lo hace todo bien, es decir, lo descarga con los espacios en blanco, pero si lo descargo en mozilla lo descarga con %20

Por si sirve de ayuda
  #3 (permalink)  
Antiguo 26/02/2008, 16:55
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problema Descarga de ficheros

Intenta con este código, luego dices a ver si funcionó...

//Verifica si dentro de la cadena hay una ocurrencia para "%20" y la cambia por " " (espacio)
if (fileNameFinal.IndexOf("%20") != -1)
HttpUtility.UrlPathEncode(fileNameFinal.Replace("% 20", " "));
//sino, simplemente deja la cadena tal cual viene su contenido
else
HttpUtility.UrlPathEncode(fileNameFinal);
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:13.