> Manuales > Manual de Flash

En este tutorial vamos a explicar cómo obtener el nombre y el tamaño en KBytes de los archivos alojados en determinado directorio del servidor web. Luego pasaremos está información a Flash en formato XML.

Esta técnica tiene múltiples aplicaciones, como por ejemplo: Como Flash no puede realizar esta función, necesitamos alguna tecnología de servidor como PHP, ASP, ColdFusion..., en este tutorial vamos a emplear ASP.

COMO HACERLO.
Primero creamos el archivo explorar.asp que es el que se va a encargar de mostrar en formato XML la información de los archivos, en este ejemplo se trata de la carpeta files situada en la raiz de nuestro dominio. En esta carpeta están los archivos de descarga que acompañan a nuestros tutoriales.

Contenido de explorar.asp

<%
' intentamos evitar la caché del navegador --------------
Response.Expires=0
Response.CacheControl="private"
' ----------------------------------------------------------------
Response.ContentType="text/XML"
'Creamos el objeto FileSystemObject
Set fso = Server.CreateObject("Scripting.FileSystemObject")
' elegimos la carpeta files desde la raiz del servidor web
' sustituir "/files/" por la que os interese
Set folder = fso.GetFolder(Server.MapPath(("/files/")))
Set files = folder.Files '
' construimos el XML ----------------------------------------
Response.Write("<?xml version='1.0' ?><exploracion carpeta='"+folder.Name+"'>")
For Each file in files
fil=file.Name
Response.write("<archivo nombre='")
Response.write(file.Name)
Response.write("' size='")
Response.write(file.size\1024)
Response.Write("' />")
Next
Response.Write("</exploracion>")
' ----------------------------------------------------------------
Set files = nothing
Set folder = nothing
Set fso = nothing
%>


En este código sólo tenéis que modificar la línea

Set folder = fso.GetFolder(Server.MapPath(("/files/")))

Donde ponéis la carpeta a explorar. Podéis ver el resultado del documento aquí.

Luego en nuestra película incluimos este código en el primer fotograma:

XML.prototype.ignoreWhite = true;
miXML = new XML();
miXML.onLoad = verArchivos;
function verArchivos(ok) {
carpetaElegida = this.firstChild.attributes.carpeta;
if (ok) {
var files = this.firstChild.childNodes;
for (var k = 0; files[k]; k++) {
archivos.addItem(files[k].attributes.nombre+" - "+files[k].attributes.size+" KBytes", files[k].attributes.nombre);
}
} else {
//fallo en la carga
}
}
function clicLista(component) {
getURL("/files/"+component.getSelectedItem().data, "_self");
}


En la primera línea,
XML.prototype.ignoreWhite = true;
le decimos a Flash, que ignore los espacios en blanco y las tabulaciones en el momento de analizar cualquier XML que carguemos.

Después, definimos el objeto XML que va a recibir los datos del fichero ASP y la función verArchivos. Esta función se va recorrer el XML y va a añadir un elemento al listBox por cada archivo que haya en la carpeta a explorar.

La función clicLista es la que se ejecuta cuando seleccionamos un elemento del listBox, en nuestro caso, lanza la descarga del archivo seleccionado.

Por último falta el código del botón, que es el que carga los datos XML, el código es:

on (release) {
//evitamos cargar el XML más de una vez
if (!miXML.loaded) {
miXML.load("/asp/explorar.asp");
}
}


Os recomendamos la descarga del fla con comentarios explicativos, ejemplo_explorar.zip

Tutoriales-flash.com

La web de los tutoriales flash en castellano

Manual