ASP.NET - archivo de texto plano

 
Vista:

archivo de texto plano

Publicado por kelly (49 intervenciones) el 20/06/2006 21:20:19
Hola a todos!!!!

Estoy generando un archivo de texto plano con el siguiente 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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:archivo de texto plano

Publicado por thessen (89 intervenciones) el 23/06/2006 10:30:59
No estoy seguro de que se pueda hacer lo que quieres (directamente desde .NET). Podrias hacerlos si descargas algun Activex al cliente o mediante JavaScript, pero desde .NET estoy casi seguro que no (que alguien me corrija si me equivoco) ya que conlleva unos problemas de permisos dificiles de solucionar. La solución mas sencilla, a mi entender, seria que una vez finalizada la creación del fichero, muestres al usuario la tipica ventana para abrir o guardar el fichero y que sea el usuario el que decida que hacer con el.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar