Paqueteflash.net
Clasepublic class FileReferenceList
HerenciaFileReferenceList Inheritance EventDispatcher Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La clase FileReferenceList proporciona un medio para permitir a los usuarios seleccionar uno o varios archivos para la carga. Un objeto FileReferenceList representa un grupo de uno o varios archivos locales en el disco del usuario como una matriz de objetos FileReference. Para obtener información detallada y consideraciones importantes sobre los objetos FileReference y la clase FileReference, que se utiliza con FileReferenceList, consulte la clase FileReference.

Para trabajar con la clase FileReferenceList:

La clase FileReferenceList incluye un método browse() y una propiedad fileList para trabajar con varios archivos. Mientras se ejecuta una llamada a FileReferenceList.browse(), la reproducción del archivo SWF se interrumpe en los reproductores autónomos y externos para Linux y Mac OS X 10.1 y versiones anteriores.

Ver los ejemplos

Véase también

FileReference


Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  fileList : Array
[read-only] Conjunto de objetos FileReference.
FileReferenceList
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
Métodos públicos
 MétodoDefinido por
  
Crea un nuevo objeto FileReferenceList.
FileReferenceList
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
EventDispatcher
  
browse(typeFilter:Array = null):Boolean
Muestra un cuadro de diálogo de búsqueda de archivos en el que el usuario puede seleccionar uno o varios archivos locales para la carga.
FileReferenceList
 Inherited
Distribuye un evento en el flujo del evento.
EventDispatcher
 Inherited
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
EventDispatcher
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Elimina un detector del objeto EventDispatcher.
EventDispatcher
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
 Inherited
Devuelve el valor simple del objeto especificado.
Object
 Inherited
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
EventDispatcher
Eventos
 Evento Resumen Definido por
 Inherited Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo.EventDispatcher
   Se distribuye cuando el usuario cierra el cuadro de diálogo de búsqueda de archivos.FileReferenceList
 Inherited Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo.EventDispatcher
   Se distribuye cuando el usuario selecciona uno o varios archivos para la carga en el cuadro de diálogo de búsqueda de archivos.FileReferenceList
Información sobre propiedades
fileListpropiedad
fileList:Array  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Una matriz de objetos FileReference.

Cuando se ha llamado al método FileReferenceList.browse() y el usuario ha seleccionado uno o varios archivos del cuadro de diálogo que ha abierto el método browse(), esta propiedad se llena con una matriz de objetos FileReference. Cada uno representa un archivo seleccionado por el usuario. A continuación puede utilizar esta matriz para cargar cada archivo con el método FileReference.upload(). Debe cargar los archivos de uno en uno.

La propiedad fileList se llena cada vez que se llama a browse() en ese objeto FileReferenceList.

Las propiedades de los objetos FileReference se describen en la documentación de la clase FileReference.


Implementación
    public function get fileList():Array

Véase también

Información sobre constructores
FileReferenceList()constructor
public function FileReferenceList()

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea un nuevo objeto FileReferenceList. Un objeto FileReferenceList no contiene nada si no se llama al método browse() y si el usuario no selecciona uno o varios archivos. Cuando llama a browse() en el objeto FileReference, la propiedad fileList del objeto se llena con una matriz de objetos FileReference.

Véase también

Información sobre métodos
browse()método
public function browse(typeFilter:Array = null):Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Muestra un cuadro de diálogo de búsqueda de archivos en el que el usuario puede seleccionar uno o varios archivos locales para la carga. El cuadro de diálogo depende del sistema operativo del usuario. Cuando se llama a este método y el usuario selecciona archivos correctamente, la propiedad fileList de este objeto FileReferenceList se llena con una matriz de objetos FileReference, uno para cada archivo seleccionado por el usuario. Posteriormente, cada vez que se llama a al método FileReferenceList.browse(), la propiedad del objeto FileReferenceList.fileList se restablece según el archivo seleccionado por el usuario en el cuadro de diálogo.

Con el parámetro typeFilter, se puede determinar qué archivos se mostrarán en el cuadro de diálogo.

Sólo se puede realizar una sesión FileReference.browse(), FileReference.download() o FileReferenceList.browse() cada vez en un objeto FileReferenceList (porque no se puede abrir más de un cuadro de diálogo de forma simultánea).

Parámetros

typeFilter:Array (default = null) — Una matriz de instancias de FileFilter para filtrar los archivos que se muestran en el cuadro de diálogo. Si omite este parámetro, se mostrarán todos los archivos. Para más información, consulte la clase FileFilter.

Valor devuelto
Boolean — Devuelve true si los parámetros son válidos y abre el cuadro de diálogo de búsqueda de archivos.

Eventos
select:Event — Se invoca cuando el usuario selecciona correctamente en el cuadro de diálogo un elemento para la carga.
 
cancel:Event — Se invoca cuando el usuario cancela el cuadro de diálogo haciendo clic en Cancelar o cerrándolo.

Emite
IllegalOperationError — Se emite por los motivos siguientes: 1) Hay otra sesión e búsqueda de FileReference o FileReferenceList en curso; sólo se puede realizar una sesión de búsqueda de archivos cada vez. 2) Un ajuste del archivo mms.cfg del usuario prohíbe esta operación.
 
ArgumentError — Si la matriz typeFilter no contiene objetos FileFilter con el formato correcto, se emitirá una excepción. Para más información sobre el formato de los filtros, consulte la documentación de FileFilter.

Véase también

Información sobre eventos
cancel Evento
Tipo de objeto de evento: flash.events.Event
Event.type property = flash.events.Event.CANCEL

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Se distribuye cuando el usuario cierra el cuadro de diálogo de búsqueda de archivos. (Este cuadro de diálogo se abre cuando llama a los métodos FileReferenceList.browse(), FileReference.browse() o FileReference.download()).

Define el valor de la propiedad type de un objeto de evento cancel.

Este evento tiene las propiedades siguientes:

PropiedadValor
bubblesfalse
cancelablefalse; no hay ningún comportamiento predeterminado que cancelar.
currentTargetEl objeto que procesa de forma activa el objeto de evento con un detector de eventos.
targetReferencia al objeto en el que se cancela la operación.

Véase también

select Evento  
Tipo de objeto de evento: flash.events.Event
Event.type property = flash.events.Event.SELECT

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Se distribuye cuando el usuario selecciona uno o varios archivos para la carga en el cuadro de diálogo de búsqueda de archivos. (Este cuadro de diálogo se abre cuando llama a los métodos FileReferenceList.browse(), FileReference.browse() o FileReference.download()). Cuando un usuario selecciona un archivo y confirma la operación (por ejemplo, haciendo clic en Guardar), el objeto FileReferenceList se llena con objetos FileReference que representan los archivos seleccionados por el usuario.

Define el valor de la propiedad type de un objeto de evento select.

Este evento tiene las propiedades siguientes:

PropiedadValor
bubblesfalse
cancelablefalse; no hay ningún comportamiento predeterminado que cancelar.
currentTargetEl objeto que procesa de forma activa el objeto de evento con un detector de eventos.
targetEl objeto FileReference en el que se ha seleccionado un elemento.

Véase también

Ejemplos Cómo utilizar los ejemplos
FileReferenceListExample.as

En el ejemplo siguiente, se muestra cómo utilizar eventos para gestionar la carga de varios archivos. La clase CustomFileReferenceList amplía FileReferenceList e incluye un evento complete, que se distribuye al cargar cada archivo individual en el objeto FileReferenceList. El evento LIST_COMPLETE de la clase FileReferenceListExample se distribuye cuando todos los archivos del objeto FileReferenceList se han cargado.

Para ejecutar este ejemplo, coloque un script creado para aceptar la carga de archivos en http://www.[yourDomain].com/yourUploadHandlerScript.cfm. En función de la ubicación del archivo SWF y el destino de la carga, también podría ser necesario compilar el archivo SWF con la opción Seguridad de reproducción local establecida como Acceder sólo a la red o actualizar la configuración de seguridad de Flash ® Player para que permita el acceso de este archivo a la red. Si el servidor de carga es remoto y ejecuta este ejemplo en el equipo de escritorio, el servidor debe contener un archivo crossdomain.xml.


package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileReference;
    import flash.net.FileReferenceList;

    public class FileReferenceListExample extends Sprite {
        public static var LIST_COMPLETE:String = "listComplete";
        public function FileReferenceListExample() {
            initiateFileUpload();
        }

        private function initiateFileUpload():void {
            var fileRef:CustomFileReferenceList = new CustomFileReferenceList();
            fileRef.addEventListener(FileReferenceListExample.LIST_COMPLETE, listCompleteHandler);
            fileRef.browse(fileRef.getTypes());
        }

        private function listCompleteHandler(event:Event):void {
            trace("listCompleteHandler");
        }
    }
}

import flash.events.*;
import flash.net.FileReference;
import flash.net.FileReferenceList;
import flash.net.FileFilter;
import flash.net.URLRequest;

class CustomFileReferenceList extends FileReferenceList {
    private var uploadURL:URLRequest;
    private var pendingFiles:Array;

    public function CustomFileReferenceList() {
        uploadURL = new URLRequest();
        uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm";
        initializeListListeners();
    }

    private function initializeListListeners():void {
        addEventListener(Event.SELECT, selectHandler);
        addEventListener(Event.CANCEL, cancelHandler);
    }

    public function getTypes():Array {
        var allTypes:Array = new Array();
        allTypes.push(getImageTypeFilter());
        allTypes.push(getTextTypeFilter());
        return allTypes;
    }

    private function getImageTypeFilter():FileFilter {
        return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png");
    }

    private function getTextTypeFilter():FileFilter {
        return new FileFilter("Text Files (*.txt, *.rtf)", "*.txt;*.rtf");
    }

    private function doOnComplete():void {
        var event:Event = new Event(FileReferenceListExample.LIST_COMPLETE);
        dispatchEvent(event);
    }

    private function addPendingFile(file:FileReference):void {
        trace("addPendingFile: name=" + file.name);
        pendingFiles.push(file);
        file.addEventListener(Event.OPEN, openHandler);
        file.addEventListener(Event.COMPLETE, completeHandler);
        file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
        file.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
        file.upload(uploadURL);
    }

    private function removePendingFile(file:FileReference):void {
        for (var i:uint; i < pendingFiles.length; i++) {
            if (pendingFiles[i].name == file.name) {
                pendingFiles.splice(i, 1);
                if (pendingFiles.length == 0) {
                    doOnComplete();
                }
                return;
            }
        }
    }

    private function selectHandler(event:Event):void {
        trace("selectHandler: " + fileList.length + " files");
        pendingFiles = new Array();
        var file:FileReference;
        for (var i:uint = 0; i < fileList.length; i++) {
            file = FileReference(fileList[i]);
            addPendingFile(file);
        }
    }

    private function cancelHandler(event:Event):void {
        var file:FileReference = FileReference(event.target);
        trace("cancelHandler: name=" + file.name);
    }

    private function openHandler(event:Event):void {
        var file:FileReference = FileReference(event.target);
        trace("openHandler: name=" + file.name);
    }

    private function progressHandler(event:ProgressEvent):void {
        var file:FileReference = FileReference(event.target);
        trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
    }

    private function completeHandler(event:Event):void {
        var file:FileReference = FileReference(event.target);
        trace("completeHandler: name=" + file.name);
        removePendingFile(file);
    }

    private function httpErrorHandler(event:Event):void {
        var file:FileReference = FileReference(event.target);
        trace("httpErrorHandler: name=" + file.name);
    }

    private function ioErrorHandler(event:Event):void {
        var file:FileReference = FileReference(event.target);
        trace("ioErrorHandler: name=" + file.name);
    }

    private function securityErrorHandler(event:Event):void {
        var file:FileReference = FileReference(event.target);
        trace("securityErrorHandler: name=" + file.name + " event=" + event.toString());
    }
}




 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/net/FileReferenceList.html