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

generar archivo de texto plano

Estas en el tema de generar archivo de texto plano en el foro de ASPX (.net) en Foros del Web. Hola a todos!!!! Estoy generando un archivo de texto plano con el siguiente código: Código: private void generarMetabiblioteca(string NombreArchivo, DataSet DatosMetabiblioteca) { try { if(txtNombre.Text ...
  #1 (permalink)  
Antiguo 20/06/2006, 13:12
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta generar archivo de texto plano

Hola a todos!!!!

Estoy generando un archivo de texto plano con el siguiente código:

Código:
private void generarMetabiblioteca(string NombreArchivo, DataSet DatosMetabiblioteca)
{
	try
	{
		if(txtNombre.Text != "")
		{
			string archivo = "";
			string ruta = Server.MapPath(".");					string[] arInfo =new string[1];
			char[] splitter  = {'\\'};
			arInfo = ruta.Split(splitter);						archivo = arInfo[0];						if(Directory.Exists(archivo + "\\Metabiblioteca\\") == true)
			{
				if(DatosMetabiblioteca.Tables[0].Rows.Count != 0)
				{
					string DireccionURL = archivo + "\\Metabiblioteca\\"+NombreArchivo+".txt";
					StreamWriter sw = new StreamWriter(DireccionURL,false,System.Text.Encoding.Default);
					//StreamWriter sw = File.CreateText(DireccionURL);
					for(int x=0; x < DatosMetabiblioteca.Tables[0].Rows.Count; x++)
					{
						sw.WriteLine(DatosMetabiblioteca.Tables[0].Rows[x][0].ToString());								}
					sw.Close();
					panMensaje.Visible = true;
					panMetabiblioteca.Visible = false;
					lblMensaje.Text = "Archivo: <b>" + NombreArchivo + "</b>, generado con éxito.";
				}
				else
				{
					panMensaje.Visible = true;
					panMetabiblioteca.Visible = false;
					lblMensaje.Text = "Archivo: <b>" + NombreArchivo + "</b>, No se pude generar, ya que la base de datos no contiene registros de: <b>" + cbolstTipoMaterial.SelectedItem.ToString() + "</b>.";
				}
			}
			else
			{
				Directory.CreateDirectory(archivo + "\\Metabiblioteca\\");
				if(DatosMetabiblioteca.Tables[0].Rows.Count != 0)
				{
					string DireccionURL = archivo + "\\Metabiblioteca\\"+NombreArchivo+".txt";
					StreamWriter sw = new StreamWriter(DireccionURL,false,System.Text.Encoding.Default);
					for(int x=0; x < DatosMetabiblioteca.Tables[0].Rows.Count; x++)
					{									sw.WriteLine(DatosMetabiblioteca.Tables[0].Rows[x][0].ToString());								}
					sw.Close();
					panMensaje.Visible = true;
					panMetabiblioteca.Visible = false;
					lblMensaje.Text = "Archivo: <b>" + NombreArchivo + "</b>, generado con éxito.";
				}
				else
				{
					panMensaje.Visible = true;
					panMetabiblioteca.Visible = false;
					lblMensaje.Text = "Archivo: <b>" + NombreArchivo + "</b>, No se pude generar, ya que la base de datos no contiene registros de: <b>" + cbolstTipoMaterial.SelectedItem.ToString() + "</b>.";
				}
			}
		}
		else
		{
			panMensaje.Visible = true;
			panMetabiblioteca.Visible = false;
			lblMensaje.Text = "Falta ingresar el nombre al archivo.";
		}
	}
	catch (Exception exc) 
	{
		panMensaje.Visible = true;
		lblMensaje.Text = "Error al intentar guadar: <b>" + NombreArchivo + "</b>. Error:" + exc;
	}
}
este código me genera muy bien el archivo y todo cierto pero lo que yo necesito es que en vez de guardarme el archivo en el servidor me lo guarde en el equipo desde donde se esta ejecutando la página web.

Si alguien sabe cómo puedo organizar este código para que me guarde de esta manera se lo agradezco de antemano
__________________
Kelly Johana:si:
  #2 (permalink)  
Antiguo 20/06/2006, 17:42
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
guardarme el archivo en el servidor me lo guarde en el equipo desde donde se esta ejecutando la página web.
eso no lo puedes hacer directamente obviamente por cuestiones de seguridad, a menos que instales algo como un ActiveX siempre y cuando el cliente lo acepte, pero lo mas común es mandarle un response a la página para escribir el texto y el usuario pueda guardarlo desde su browser...

algo como ésto:

Cita:
Response.ContentType = "text/plain"
....
obviamente le indicas que es de tipo attachment para que lo pueda descargar el usuario

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 21/06/2006, 08:49
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta

y esto que me dices lo hago luego de haber creado el archivo de texto y que ya este guardado en el servidor?

me podrías explicar un poquito cómo puedo hacerlo que soy algo nueva en este lenguaje

muchas gracias
__________________
Kelly Johana:si:
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 08:20.