Beispiel #1
0
        public static string listarArchivosContenidos(string nombre_carpeta)
        {
            DescripcionArchivosCarpetas descripcion_archivos_carpetas = (DescripcionArchivosCarpetas)HttpContext.Current.Session["descripcion_archivos_carpetas"];

            string resultado = "";

            string ruta_principal     = HttpContext.Current.Server.MapPath("~/");
            string ruta_relativa_base = "Protegido\\Contenedor";

            string ruta_actual = ruta_principal + ruta_relativa_base + nombre_carpeta;

            ruta_actual = ruta_actual.Replace("/", @"\");

            ////refefrenciamos el directorio (carpeta)----------------------
            DirectoryInfo dir_info = new DirectoryInfo(ruta_actual);


            if (dir_info.Exists)
            {
                dir_info.Refresh();



                DirectoryInfo[] lista_directorios = dir_info.GetDirectories();

                for (int i = 0; i < lista_directorios.Length; i++)
                {
                    var ruta_web = "Contenedor" + nombre_carpeta + "/" + lista_directorios[i].Name;

                    var      nombre_carpeta_convertida = nombre_carpeta.Replace("/", @"\");
                    String[] datos_carpeta             = descripcion_archivos_carpetas.obtenerDescripcionCarpetaVar(nombre_carpeta_convertida);


                    //verificamos si tiene contenido: archivos o carpetas
                    bool            tiene_archivos = false;
                    DirectoryInfo[] ldir           = lista_directorios[i].GetDirectories();
                    FileInfo[]      lfile          = lista_directorios[i].GetFiles();
                    if (ldir.Length > 0 || lfile.Length > 0)
                    {
                        tiene_archivos = true;
                    }



                    string res = "{";
                    //res += "\"nombre_completo\":\"" + lista_archivos[i].FullName + "\",";
                    res += "\"tipo\":\"carpeta\",";
                    res += "\"tiene_contenido\":\"" + tiene_archivos + "\",";
                    res += "\"rutaweb\":\"" + ruta_web + "\",";
                    res += "\"nombre\":\"" + lista_directorios[i].Name + "\",";
                    res += "\"ultima_mod\":\"" + lista_directorios[i].LastWriteTime + "\",";
                    res += "\"desc\":\"" + datos_carpeta[0] + "\",";
                    res += "\"fecha_desc\":\"" + datos_carpeta[1] + "\"";
                    res += "}";

                    resultado += res + ",";
                }



                FileInfo[] lista_archivos = dir_info.GetFiles();

                for (int i = 0; i < lista_archivos.Length; i++)
                {
                    var ruta_web = "Contenedor" + nombre_carpeta + "/" + lista_archivos[i].Name;

                    var      nombre_carpeta_convertida = nombre_carpeta.Replace("/", @"\");
                    String[] datos_archivos            = descripcion_archivos_carpetas.obtenerDescripcionArchivoVar(lista_archivos[i].Name, nombre_carpeta_convertida);

                    //try
                    //{

                    string ext = (lista_archivos[i].Extension.Length >= 1) ? lista_archivos[i].Extension.Substring(1) : "";
                    string res = "{";
                    //res += "\"nombre_completo\":\"" + lista_archivos[i].FullName + "\",";
                    res += "\"tipo\":\"archivo\",";
                    res += "\"rutaweb\":\"" + ruta_web + "\",";
                    res += "\"nombre\":\"" + lista_archivos[i].Name + "\",";
                    res += "\"ext\":\"" + ext + "\",";
                    res += "\"ultima_mod\":\"" + lista_archivos[i].LastWriteTime + "\",";
                    res += "\"size\":\"" + lista_archivos[i].Length + "\",";
                    res += "\"desc\":\"" + datos_archivos[0] + "\",";
                    res += "\"fecha_desc\":\"" + datos_archivos[1] + "\"";
                    res += "}";

                    resultado += res + ",";
                    //}
                    //catch(Exception e){
                    //    Debug.WriteLine("ERROR :: listarArchivosContenidos :: " + e.ToString());
                    //}
                }

                //si se encontraron archivos
                if (resultado.Length > 0)
                {
                    resultado = resultado.Substring(0, resultado.Length - 1);
                }
            }

            //regresamos todos los archivos y sis datos en una estructura llamada carpeta
            resultado = "{\"carpeta\":[" + resultado + "]}";


            return(resultado);
        }
Beispiel #2
0
 private void cargarDescripcion()
 {
     this.descripcion_archivos_carpetas       = new DescripcionArchivosCarpetas();
     Session["descripcion_archivos_carpetas"] = this.descripcion_archivos_carpetas;
 }