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

Como Descargar TXT desde Server

Estas en el tema de Como Descargar TXT desde Server en el foro de ASPX (.net) en Foros del Web. hola que tal quisiera ver la posiblidad de descargar un TXT. ya que al darle clic al acceso. abre el texto en el explorer, pero ...
  #1 (permalink)  
Antiguo 11/10/2010, 10:56
Avatar de frader  
Fecha de Ingreso: marzo-2007
Mensajes: 52
Antigüedad: 17 años, 1 mes
Puntos: 0
Mensaje Como Descargar TXT desde Server

hola que tal quisiera ver la posiblidad de descargar un TXT. ya que al darle clic al acceso. abre el texto en el explorer, pero lo que quiero es que lo abra en bloc de notas o mejor aun me pida descargarlo.

Response.Clear()
Response.ContentType = "text/plain"
Try
Response.AppendHeader("Content-Disposition", "filename=MIARCHIVO.TXT")
'Response.Charset = "UTF-8"
'Response.ContentType = ContentType
Response.Flush()
Response.TransmitFile(sPath)

Response.End()
  #2 (permalink)  
Antiguo 11/10/2010, 11:15
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Como Descargar TXT desde Server

Cita:
Iniciado por frader Ver Mensaje
hola que tal quisiera ver la posiblidad de descargar un TXT. ya que al darle clic al acceso. abre el texto en el explorer, pero lo que quiero es que lo abra en bloc de notas o mejor aun me pida descargarlo.

Response.Clear()
Response.ContentType = "text/plain"
Try
Response.AppendHeader("Content-Disposition", "filename=MIARCHIVO.TXT")
'Response.Charset = "UTF-8"
'Response.ContentType = ContentType
Response.Flush()
Response.TransmitFile(sPath)

Response.End()
Mira yo agregue una nueva webform:
public partial class DescargaArchivoTexto : System.Web.UI.Page {
//private Archivos CArchivos = new Archivos();
protected void Page_Load(object sender, EventArgs e) {
StringBuilder Mensaje;
//Procedimiento para poder desgargar un achivo de texto sin que lo imprima en el navegador.
//La parte de HTML está vacio para que no ponga basura al final del archivo de texto.
//Recibe como parámetro el nombre del archivo que se quiere descargar
if (this.Page.Request.Params["file"] != null) {
string NomArchivo = Request.PhysicalApplicationPath.ToString() + this.Page.Request.Params["file"].ToString();
try {
FileInfo NombreArchivo = new FileInfo(@NomArchivo);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
StringBuilder Temporal = new StringBuilder();
Temporal.Append("attachment; filename=").Append(NombreArchivo.Name);
Response.AppendHeader("content-disposition", Temporal.ToString());
Response.ContentType = GetContentType(NombreArchivo.Extension.ToString()) ;
Response.WriteFile(NombreArchivo.FullName);
} catch (Exception ex) {
Mensaje = new StringBuilder();
Mensaje.Append("Ocurrió un error al querer descargar el archivo preparado\n:").Append(ex.ToString());
MessageBox.Show(Mensaje.ToString());
}
} else {
MessageBox.Show("No se recibió ningún nombre de archivo para descargar.");
}
}
private string GetContentType(string FileExtension)
{
// Convertimos la extensión en minúsculas
string ext = FileExtension.ToLower(System.Threading.Thread.Curr entThread.CurrentCulture);
// Verificamos que contenga el punto de
// otra manera habría que agregarlo para
// poder obtener los resultados esperados
if (!ext.StartsWith("."))
ext = String.Concat(".", ext);
// Se declara un permisos pata obtener
// acceso de solo lectura al registro
// NOTA: Se está utilizando: using System.Security.Permissions;
RegistryPermission Reg = new RegistryPermission(RegistryPermissionAccess.Read, "HKEY_CLASSES_ROOT\\");
// Creamos un llave de registro para
// HKEY_CLASSES_ROOT
Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.ClassesRoot;
// Intentamos crear una llave de registro
// a partir de la extensión
Microsoft.Win32.RegistryKey regKeyExt = regKey.OpenSubKey(ext);
// Si la extensión existe como sub llave de registro
// entonces devolveremos su valor de lo contrario
// se devuelve el valor predeterminado
if(regKeyExt == null)
return "application/octet-stream";
else
return regKeyExt.GetValue("Content Type","application/octet-stream").ToString();
}
}


Redireccionas y listo:
Response.Redirect("/DescargaArchivoTexto.aspx?file=" + archivo);
  #3 (permalink)  
Antiguo 12/10/2010, 08:41
Avatar de frader  
Fecha de Ingreso: marzo-2007
Mensajes: 52
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Como Descargar TXT desde Server

Excelente, me ha servido de maravilla. muchas gracias Ruben

ahora solo le falta quitarle los tags del html que guarda.

abra alguna forma?

ya que al generar el txt al final pone un codigo html


------------------

Ya quedo. solo faltaba ponerle al final

Response.End

Etiquetas: server, txt, aspx
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 13:46.