• inicio
  • tutoriales flash
  • trucos flash
  • faq's flash
  • enlaces flash
  • suscribirse al feed RSS

tutoriales ( todos | principiante | medio | avanzado | AS 1.0 | AS 2.0 | AS 3.0 | top )

Tutorial FLASH - Tutorial para forzar la descarga de archivos de imagen en Flash con la clase FileReference.

| | Más
Versión Flash: 8 y superiores   |   Compatible con ActionScript 1.0 y 2.0   |   Nivel: Medio   |   Hits: 68008

Hasta la aparición de Flash 8, cuando queríamos forzar la descarga de determinados tipos de archivo, teníamos que recurrir a PHP, ASP u otra tecnología de servidor. Ahora con la incorporación de las clases FileReference y FileReferenceList, podemos forzar la descarga de cualquier archivo ya sea pdf, jpeg, gif, html, swf, ¡¡¡cualquiera!!!

Estas dos clases nos van a permitir intercambiar archivos entre el servidor y el disco duro del usuario, podremos hacer uploads y downloads. Este tutorial sólo vamos a explicar como descargar un fichero usando el método FileReference.download(), para enseñar a hacer uploads estamos preparando otro tutorial. Por último, antes de empezar la lección, queda decir que el uso de FileReference y FileReferenceList es similar, la diferencia está en que FileRefenceList nos permite trabajar con varios ficheros a la vez.

COMO HACERLO.
El mecanismo del ejemplo es muy sencillo. Simplemente, introducir este código en el botón:

on (release) {
import flash.net.FileReference;
var miArchivo:FileReference = new FileReference();
var url:String = "miArchivo_de_ejemplo.jpg";
var nombre_de_descarga:String = "ejemploLoader1.jpg";
miArchivo.download(url, nombre_de_descarga);
}

Primero necesitamos importar la clase de FileReference del paquete flash.net, una vez hecho esto, creamos nuestro objeto miArchivo que es el que nos va a permitir realizar la descarga. El último paso es llamar al método download pasándole como primer parámetro el archivo del servidor que queremos descargar y como segundo, el nombre de archivo que queremos que aparezca por defecto.

Como se ve, es un poco más largo que un simple getURL("ejemploLoader1.jpg"), pero merece la pena incluirlo si trabajais con Flash 8. Ahora que habeis visto lo fácil que es hacerlo, si os adentrais en la documentación de Flash podeis ampliar el ejemplo añadiendo un detector de eventos, con lo que controlareis posibles errores, progreso de la carga, etc.

Aquí teneis el archivo archivo FileReference.fla del ejemplo con el código comentado.

| | Más
flash 1flash 1flash 1flash 2flash 1flash 3flash 1flash 4