• Viernes 15 de Noviembre de 2024, 03:46

Autor Tema:  Archivo De Texto Plano  (Leído 1259 veces)

kejos

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Archivo De Texto Plano
« en: Martes 20 de Junio de 2006, 21:23 »
0
Hola a todos!!!!

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

Código: Text
  1. private void generarMetabiblioteca(string NombreArchivo, DataSet DatosMetabiblioteca)
  2.     {
  3.       try
  4.       {
  5.         if(txtNombre.Text != "")
  6.         {
  7.           string archivo = "";
  8.           string ruta = Server.MapPath(".");        
  9.  
  10.           string[] arInfo =new string[1];
  11.           char[] splitter  = {'\\'};
  12.           arInfo = ruta.Split(splitter);        
  13.           archivo = arInfo[0];        
  14.  
  15.           if(Directory.Exists(archivo + "\\Metabiblioteca\\") == true)
  16.           {
  17.             if(DatosMetabiblioteca.Tables[0].Rows.Count != 0)
  18.             {
  19.               string DireccionURL = archivo + "\\Metabiblioteca\\"+NombreArchivo+".txt";
  20.               StreamWriter sw = new StreamWriter(DireccionURL,false,System.Text.Encoding.Default);
  21.               //StreamWriter sw = File.CreateText(DireccionURL);
  22.  
  23.               for(int x=0; x < DatosMetabiblioteca.Tables[0].Rows.Count; x++)
  24.               {
  25.                 sw.WriteLine(DatosMetabiblioteca.Tables[0].Rows[x][0].ToString());              
  26.               }
  27.               sw.Close();
  28.            
  29.               panMensaje.Visible = true;
  30.               panMetabiblioteca.Visible = false;
  31.               lblMensaje.Text = "Archivo: <b>" + NombreArchivo + "</b>, generado con éxito.";
  32.             }
  33.             else
  34.             {
  35.               panMensaje.Visible = true;
  36.               panMetabiblioteca.Visible = false;
  37.               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>.";
  38.             }
  39.           }
  40.           else
  41.           {
  42.             Directory.CreateDirectory(archivo + "\\Metabiblioteca\\");
  43.          
  44.             if(DatosMetabiblioteca.Tables[0].Rows.Count != 0)
  45.             {
  46.               string DireccionURL = archivo + "\\Metabiblioteca\\"+NombreArchivo+".txt";
  47.               StreamWriter sw = new StreamWriter(DireccionURL,false,System.Text.Encoding.Default);
  48.            
  49.               for(int x=0; x < DatosMetabiblioteca.Tables[0].Rows.Count; x++)
  50.               {            
  51.                 sw.WriteLine(DatosMetabiblioteca.Tables[0].Rows[x][0].ToString());              
  52.               }
  53.               sw.Close();
  54.          
  55.               panMensaje.Visible = true;
  56.               panMetabiblioteca.Visible = false;
  57.               lblMensaje.Text = "Archivo: <b>" + NombreArchivo + "</b>, generado con éxito.";
  58.             }
  59.             else
  60.             {
  61.               panMensaje.Visible = true;
  62.               panMetabiblioteca.Visible = false;
  63.               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>.";
  64.             }
  65.           }
  66.         }
  67.         else
  68.         {
  69.           panMensaje.Visible = true;
  70.           panMetabiblioteca.Visible = false;
  71.           lblMensaje.Text = "Falta ingresar el nombre al archivo.";
  72.         }
  73.       }
  74.       catch (Exception exc)
  75.       {
  76.         panMensaje.Visible = true;
  77.         lblMensaje.Text = "Error al intentar guadar: <b>" + NombreArchivo + "</b>. Error:" + exc;
  78.       }
  79.     }
  80.  
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

 :(  :)  :hola:
[size=109]Kelly Johana[/size]

mustang

  • Miembro MUY activo
  • ***
  • Mensajes: 133
    • Ver Perfil
Re: Archivo De Texto Plano
« Respuesta #1 en: Sábado 24 de Junio de 2006, 17:44 »
0
Hola segun tengo entendido, las politicas se seguridad no permiten eso de guardar archivos en las Pc's de los clientes web, imagina el número de basura y virus ke te podrian meter desde una página, yo tuve el mismo problema y la manera de resolverlo fue:

Agregar un objeto Hyperlink a tu página y pones la propiedad Visible=False,
Cuando termines de crear el archivo con cierto nombre al Hyperlink en la propiedad NavigationURL (creo ke asi se llama) le pones la ruta del archivo, recordando ke sea una ruta web (http://tuservidor/aplicacion/Metabiblioteca/"+NombreArchivo+".txt) ó (./Metabiblioteca/"+NombreArchivo+".txt)
Tambien tiene un propiedad donde le puedes poner el texto ke kieras ke el usuario vea pero no recuerdo como se llama
Despúes pones la propiedad del Hyperlink Visible=True.
Y el cliente podrá descargar el archivo que se acaba de crear desde un vínvulo.
Espero te sirva!!   :hola:
El camino del exceso lleva al palacio de la sabiduria.....(William Blake)