| Paquete | flash.net |
| Clase | public class FileReference |
| Herencia | FileReference EventDispatcher Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Las instancias FileReference se crean de dos formas:
new con el constructor FileReference: var myFileReference = new FileReference();FileReferenceList.browse(), que crea una matriz de objetos FileReference.Durante una operación de carga, todas las propiedades de un objeto FileReference se llenan con llamadas a los métodos FileReference.browse() o FileReferenceList.browse(). Durante una operación de descarga, la propiedad name se llena cuando se ha llamado al evento select; las demás propiedades se llenan cuando se ha distribuido el evento complete.
El método browse() abre un cuadro de diálogo del sistema operativo que pide al usuario que seleccione un archivo para la carga. El método FileReference.browse() permite al usuario seleccionar un solo archivo; FileReferenceList.browse() permite al usuario seleccionar varios archivos. Después de llamar correctamente a browse(), llame al método FileReference.upload() para cargar un archivo cada vez. El método FileReference.download() pide al usuario que seleccione una ubicación para guardar el archivo e inicia la descarga desde una URL remota.
Las clases FileReference y FileReferenceList no permiten definir la ubicación predeterminada del archivo para el cuadro de diálogo generado por los métodos browse() o download(). La ubicación predeterminada que se muestra en el cuadro de diálogo es la última carpeta a la que se ha accedido, si puede determinarse esa ubicación, o bien el escritorio. Las clases no permiten leer ni escribir en el archivo transferido. No permiten al archivo SWF que inició la carga o descarga acceder al archivo cargado o descargado, ni a la ubicación del archivo en el disco del usuario.
Las clases FileReference y FileReferenceList no proporcionan tampoco métodos para la autenticación. Cuando los servidores requieren autenticación, puede descargar archivos con el plug-in del navegador de Flash® Player, pero no se pueden realizar cargas (en todos los reproductores) ni descargas (en el reproductor externo o autónomo). Detecte eventos FileReference para determinar si las operaciones se realizan correctamente y para gestionar errores.
Para las operaciones de carga y descarga, un archivo SWF sólo puede acceder a archivos de su propio dominio, incluidos los dominios especificados en un archivo de política de varios dominios. Si el archivo SWF que inicia la carga o descarga no procede del mismo dominio que el servidor de archivos, debe colocar un archivo de política en el servidor de archivos.
Mientras se realizan las llamadas a los métodos FileReference.browse(), FileReferenceList.browse() o FileReference.download(), 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.
La siguiente solicitud HTTP POST de ejemplo se envía desde Flash Player a un script del lado del servidor si no se especifica ningún parámetro:
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7ei4cH2ei4gL6 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="photo"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Flash Player envía la siguiente solicitud HTTP POST si el usuario especifica los parámetros "api_sig", "api_key" y "auth_token":
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7ei4cH2ei4gL6 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_sig" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_key" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="auth_token" XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="photo"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Véase también
| Propiedad | Definido por | ||
|---|---|---|---|
![]() | constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
| Object | |
| creationDate : Date
[read-only]
La fecha de creación del archivo en el disco local.
| FileReference | ||
| creator : String
[read-only]
El tipo de creador del archivo en Macintosh.
| FileReference | ||
| modificationDate : Date
[read-only]
La última fecha de modificación del archivo en el disco local.
| FileReference | ||
| name : String
[read-only]
El nombre del archivo en el disco local.
| FileReference | ||
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| size : uint
[read-only]
El tamaño del archivo en el disco local, expresado en bytes.
| FileReference | ||
| type : String
[read-only]
El tipo de archivo.
| FileReference | ||
| Método | Definido por | ||
|---|---|---|---|
|
Crea un nuevo objeto FileReference.
| FileReference | ||
![]() |
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 | |
|
Muestra un cuadro de diálogo de búsqueda de archivos en el que el usuario puede seleccionar un archivo para la carga.
| FileReference | ||
|
Cancela la operación de carga o descarga en curso en este objeto FileReference.
| FileReference | ||
![]() |
Distribuye un evento en el flujo del evento.
| EventDispatcher | |
|
Abre un cuadro de diálogo que permite al usuario descargar un archivo desde un servidor remoto.
| FileReference | ||
![]() |
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
| EventDispatcher | |
![]() |
Indica si un objeto tiene definida una propiedad especificada.
| Object | |
![]() |
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
| Object | |
![]() |
Indica si existe la propiedad especificada y si es enumerable.
| Object | |
![]() |
Elimina un detector del objeto EventDispatcher.
| EventDispatcher | |
![]() |
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
| Object | |
![]() |
Devuelve la representación de cadena del objeto especificado.
| Object | |
|
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Inicia la carga de un archivo seleccionado por un usuario en un servidor remoto.
| FileReference | ||
![]() |
Devuelve el valor simple del objeto especificado.
| Object | |
![]() |
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 | |
| Evento | Resumen | Definido por | ||
|---|---|---|---|---|
![]() | Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo. | EventDispatcher | ||
| Se distribuye cuando el usuario cancela la carga o descarga de un archivo mediante el cuadro de diálogo de búsqueda de archivos. | FileReference | |||
| Se distribuye cuando finaliza la descarga o cuando la carga genera un código de estado HTTP de 200. | FileReference | |||
![]() | Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo. | EventDispatcher | ||
| Se distribuye cuando la carga falla y hay un código de estado HTTP disponible para describir el error. | FileReference | |||
| Se distribuye cuando falla la carga o la descarga. | FileReference | |||
| Se distribuye cuando se inicia una operación de carga o descarga. | FileReference | |||
| Se distribuye periódicamente durante la operación de carga o descarga de archivos. | FileReference | |||
| Se distribuye cuando una llamada al método FileReference.upload() o FileReference.download() intenta cargar un archivo en un servidor u obtener un archivo de un servidor que se encuentra fuera del entorno limitado de seguridad del elemento que realiza la llamada. | FileReference | |||
| Se distribuye cuando el usuario selecciona un archivo para la carga o descarga en el cuadro de diálogo de búsqueda de archivos. | FileReference | |||
| Se distribuye cuando se han recibido datos del servidor tras una carga correcta. | FileReference | |||
| creationDate | propiedad |
creationDate:Date [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
La fecha de creación del archivo en el disco local. Si aún no se ha llenado el objeto FileReference, una llamada para obtener el valor de esta propiedad devolverá null.
public function get creationDate():Date
IllegalOperationError — Si la llamada a los métodos FileReference.browse(), FileReferenceList.browse() o FileReference.download() no se realiza correctamente, se emitirá una excepción con un mensaje que indique que se ha llamado a las funciones en el orden incorrecto o que la llamada ha producido un error. En este caso, el valor de la propiedad creationDate es null.
|
|
IOError — Si no es posible acceder a la información del archivo, se emitirá una excepción con un mensaje que indique un error de E/S.
|
Véase también
| creator | propiedad |
creator:String [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El tipo de creador del archivo en Macintosh. En Windows, esta propiedad es null. Si aún no se ha llenado el objeto FileReference, una llamada para obtener el valor de esta propiedad devolverá null.
public function get creator():String
IllegalOperationError — En Macintosh, si la llamada a los métodos FileReference.browse(), FileReferenceList.browse() o FileReference.download() no se realiza correctamente, se emitirá una excepción con un mensaje que indique que se ha llamado a las funciones en el orden incorrecto o que la llamada ha producido un error. En este caso, el valor de la propiedad creator es null.
|
Véase también
| modificationDate | propiedad |
modificationDate:Date [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
La última fecha de modificación del archivo en el disco local. Si aún no se ha llenado el objeto FileReference, una llamada para obtener el valor de esta propiedad devolverá null.
public function get modificationDate():Date
IllegalOperationError — Si la llamada a los métodos FileReference.browse(), FileReferenceList.browse() o FileReference.download() no se realiza correctamente, se emitirá una excepción con un mensaje que indique que se ha llamado a las funciones en el orden incorrecto o que la llamada ha producido un error. En este caso, el valor de la propiedad modificationDate es null.
|
|
IOError — Si no es posible acceder a la información del archivo, se emitirá una excepción con un mensaje que indique un error de E/S.
|
Véase también
| name | propiedad |
name:String [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El nombre del archivo en el disco local. Si aún no se ha llenado el objeto FileReference, una llamada para obtener el valor de esta propiedad devolverá null.
Al llamar al método browse() se llenan todas las propiedades de un objeto FileReference. A diferencia de otras propiedades FileReference, si llama al método download(), la propiedad name se llena cuando se distribuye el evento select.
public function get name():String
IllegalOperationError — Si la llamada a los métodos FileReference.browse(), FileReferenceList.browse() o FileReference.download() no se realiza correctamente, se emitirá una excepción con un mensaje que indique que se ha llamado a las funciones en el orden incorrecto o que la llamada ha producido un error. En este caso, el valor de la propiedad name es null.
|
Véase también
| size | propiedad |
size:uint [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El tamaño del archivo en el disco local, expresado en bytes. Si size es 0, se emitirá una excepción.
public function get size():uint
IllegalOperationError — Si la llamada a los métodos FileReference.browse(), FileReferenceList.browse() o FileReference.download() no se realiza correctamente, se emitirá una excepción con un mensaje que indique que se ha llamado a las funciones en el orden incorrecto o que la llamada ha producido un error. En este caso, el valor de la propiedad size es 0.
|
|
IOError — Si no se puede abrir o leer el archivo, o bien si se produce un error similar al acceder al archivo, se emitirá una excepción con un mensaje que indique un error de E/S. En este caso, el valor de la propiedad size es 0.
|
Véase también
| type | propiedad |
type:String [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El tipo de archivo. En Windows esta propiedad es la extensión de archivo. En Macintosh, esta propiedad es el tipo de archivo de cuatro caracteres. Si aún no se ha llenado el objeto FileReference, una llamada para obtener el valor de esta propiedad devolverá null.
public function get type():String
IllegalOperationError — Si la llamada a los métodos FileReference.browse(), FileReferenceList.browse() o FileReference.download() no se realiza correctamente, se emitirá una excepción con un mensaje que indique que se ha llamado a las funciones en el orden incorrecto o que la llamada ha producido un error. En este caso, el valor de la propiedad type es null.
|
| FileReference | () | constructor |
public function FileReference()
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Crea un nuevo objeto FileReference. Cuando está lleno, un objeto FileReference representa un archivo en el disco local del usuario.
Véase también
| 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 un archivo para la carga. El cuadro de diálogo depende del sistema operativo del usuario. El usuario puede seleccionar un archivo del equipo local o de otros sistemas, por ejemplo, a través de una ruta UNC en Windows.
Cuando se llama a este método y el usuario selecciona correctamente un archivo, las propiedades de este objeto FileReference se llenan con las propiedades de dicho archivo. Posteriormente, cada vez que se llama a al método FileReference.browse(), las propiedades del objeto FileReference se restablecen según el archivo seleccionado por el usuario en el cuadro de diálogo. Sólo se puede realizar una sesión browse() o download() cada vez (porque no se pueden invocar varios cuadros de diálogo de forma simultánea).
Con el parámetro typeFilter, se puede determinar qué archivos se mostrarán en el cuadro de diálogo.
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.
|
Boolean — Devuelve true si los parámetros son válidos y abre el cuadro de diálogo de búsqueda de archivos. El método browse devuelve false si el cuadro de diálogo no se abre, si hay otra sesión de búsqueda de archivos en curso o si ha utilizado el parámetro typelist pero no ha proporcionado una descripción o extensión en ningún elemento de la matriz.
|
select: — Se distribuye cuando el usuario selecciona correctamente un elemento en el selector de archivos de búsqueda. |
|
cancel: — Se distribuye cuando el usuario cancela la ventana de búsqueda de carga de archivos. |
IllegalOperationError — Se emite en las situaciones 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 contiene objetos FileFilter con formato incorrecto, se emitirá una excepción. Para más información sobre el formato correcto de los objetos FileFilter, consulte la clase FileFilter.
|
Véase también
| cancel | () | método |
public function cancel():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Cancela la operación de carga o descarga en curso en este objeto FileReference. Al llamar a este método no se distribuye el evento cancel; dicho evento se distribuye sólo cuando el usuario cancela la operación cerrando el cuadro de diálogo de carga o de descarga de archivos.
| download | () | método |
public function download(request:URLRequest, defaultFileName:String = null):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Abre un cuadro de diálogo que permite al usuario descargar un archivo desde un servidor remoto. Aunque Flash Player no tiene restricciones con respecto al tamaño de los archivos que pueden cargarse y descargarse, oficialmente el reproductor admite cargas y descargas de un máximo de 100 MB.
Este método download() abre en primer lugar un cuadro de diálogo del sistema operativo que pide al usuario que introduzca un nombre de archivo y seleccione una ubicación en el equipo local para guardar el archivo. Cuando el usuario selecciona una ubicación y confirma la operación de descarga (por ejemplo, haciendo clic en Guardar), comienza la descarga del servidor remoto. Los detectores reciben eventos para indicar el progreso, el éxito o un error en la descarga. Para comprobar el estado del cuadro de diálogo y la operación de descarga después de llamar a download(), el código ActionScript deberá detectar eventos como cancel, open, progress y complete.
Las funciones FileReference.upload() y FileReference.download() no son bloqueantes. Estas funciones se devuelven después de la llamada y antes de que finalice la transmisión del archivo. Además, si el objeto FileReference va más allá del ámbito, se cancelará cualquier carga o descarga que no haya finalizado en dicho objeto. Es importante que el objeto FileReference permanezca dentro del ámbito durante todo el tiempo de carga y descarga.
Una vez descargado el archivo correctamente, las propiedades del objeto FileReference se llenan con las propiedades del archivo local. Se distribuye el evento complete si la descarga se realiza correctamente.
Sólo se puede realizar una sesión browse() o download() cada vez (porque no se pueden invocar varios cuadros de diálogo de forma simultánea).
Este método admite la descarga de cualquier tipo de archivo, con HTTP o HTTPS.
Nota: si el servidor requiere autenticación del usuario, sólo los archivos que se ejecutan en un navegador, es decir que utilizan el plug-in de navegador o controles ActiveX, pueden mostrar un cuadro de diálogo para pedir al usuario un nombre de usuario y una contraseña para la autenticación, y sólo para las descargas. La transferencia de archivos fallará en las cargas que utilicen el plug-in o el control ActiveX, y en las cargas y descargas que utilicen el reproductor autónomo o externo.
Cuando utilice este método, tenga en cuenta el modelo de seguridad de Flash Player:
allowNetworking de las etiquetas object y embed de la página HTML que aloja el contenido SWF.Para más información, consulte las siguientes secciones:
Parámetros
request:URLRequest — El objeto URLRequest. La propiedad url del objeto URLRequest debe contener la URL del archivo que se va a descargar en el equipo local. Si este parámetro es null, se emitirá una excepción. Para enviar parámetros POST o GET al servidor, enviar el valor de URLRequest.data a los parámetros y establecer URLRequest.method en URLRequestMethod.POST o en URLRequestMethod.GET.
En algunos navegadores, las cadenas URL tienen un límite de longitud. Las cadenas con una longitud superior a los 256 caracteres pueden producir un error en algunos navegadores o servidores. |
|
defaultFileName:String (default = null) — El nombre de archivo predeterminado que se muestra en el cuadro de diálogo para el archivo que se va a descargar. Esta cadena no puede contener los siguientes caracteres: / \ : * ? " < > | %
Si omite este parámetro, se analizará el nombre de archivo de la URL remota y se utilizará como predeterminado. |
open: — Se distribuye cuando se inicia una operación de descarga. |
|
progress: — Se distribuye periódicamente durante la operación de descarga de archivos. |
|
complete: — Se distribuye cuando la operación de descarga de archivos se realiza completamente. |
|
cancel: — Se distribuye cuando el usuario cierra el cuadro de diálogo. |
|
select: — Se distribuye cuando el usuario selecciona un archivo del cuadro de diálogo para la descarga. |
|
securityError: — Se distribuye cuando falla la descarga debido a un error de seguridad. |
|
ioError: — Se distribuye por alguno de los motivos siguientes:
|
IllegalOperationError — Se emite en las situaciones siguientes: 1) Hay otra sesión e búsqueda en curso; sólo se puede realizar una sesión de búsqueda de archivos cada vez. 2) El valor transferido a request no contiene una ruta o protocolo válidos. 3) El nombre de archivo que se va a descargar contiene caracteres no permitidos. 4) Un ajuste del archivo mms.cfg del usuario prohíbe esta operación.
|
|
SecurityError — Los archivos SWF locales que no son de confianza no pueden comunicarse en Internet. Para solucionar esta situación, reclasifique el archivo SWF como archivo local de red o archivo de confianza. Esta excepción se emite con un mensaje que indica el nombre de archivo y la URL a la que tal vez no se pueda acceder por las restricciones de seguridad del archivo local.
|
|
ArgumentError — Si url.data es de tipo ByteArray, se emite una excepción. Si se utiliza con los métodos FileReference.upload() y FileReference.download(), url.data sólo puede ser de tipo URLVariables o String.
|
|
MemoryError — Este error puede producirse por los motivos siguientes: 1) Flash Player no puede convertir el parámetro URLRequest.data de UTF8 a MBCS. Este error se aplica si se define el objeto URLRequest transferido al método FileReference.download() para que lleve a cabo una operación GET y si System.useCodePage se define como true. 2) Flash Player no puede asignar memoria para los datos POST. Este error es aplicable si se define el objeto URLRequest transferido al método FileReference.download() para que lleve a cabo una operación POST.
|
Véase también
download. Para ejecutar este ejemplo, cambie la propiedad downloadURL.url para que señale a un dominio y archivo reales, y no a la URL ficticia http://www.[yourDomain].com/SomeFile.pdf. 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.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;
import flash.net.FileFilter;
public class FileReference_download extends Sprite {
private var downloadURL:URLRequest;
private var fileName:String = "SomeFile.pdf";
private var file:FileReference;
public function FileReference_download() {
downloadURL = new URLRequest();
downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
file = new FileReference();
configureListeners(file);
file.download(downloadURL, fileName);
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
}
private function cancelHandler(event:Event):void {
trace("cancelHandler: " + event);
}
private function completeHandler(event:Event):void {
trace("completeHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
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 securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
}
}
}| upload | () | método |
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Inicia la carga de un archivo seleccionado por un usuario en un servidor remoto. Aunque Flash Player no tiene restricciones con respecto al tamaño de los archivos que pueden cargarse y descargarse, oficialmente el reproductor admite cargas y descargas de un máximo de 100 MB. Se debe llamar al método FileReference.browse() o FileReferenceList.browse() para poder llamar a este método.
Los detectores reciben eventos para indicar el progreso, éxito o error en la carga. Aunque se puede utilizar el objeto FileReferenceList para que los usuarios puedan seleccionar varios archivos para la carga, éstos se deben cargar de uno en uno; para ello, itere por la matriz FileReferenceList.fileList de objetos FileReference.
Las funciones FileReference.upload() y FileReference.download() no son bloqueantes. Estas funciones se devuelven después de la llamada y antes de que finalice la transmisión del archivo. Además, si el objeto FileReference va más allá del ámbito, se cancelará cualquier carga o descarga que no haya finalizado en dicho objeto. Es importante que el objeto FileReference permanezca dentro del ámbito durante todo el tiempo de carga y descarga.
El archivo se carga en la URL pasada en el parámetro url. La URL debe ser un script de servidor configurado para aceptar cargas. Flash Player carga archivos mediante el método HTTP POST. El script de servidor que gestiona la carga espera una petición POST con los siguientes elementos:
Content-Type de multipart/form-dataContent-Disposition con un atributo name establecido de forma predeterminada como "Filedata" y un atributo filename establecido como el nombre del archivo original.Para consultar una solicitud POST de ejemplo, consulte la descripción del parámetro uploadDataFieldName. Se pueden enviar parámetros POST o GET al servidor con el método upload(); consulte la descripción del parámetro request.
Si el parámetro testUpload es true, y el tamaño del archivo que se va a cargar supera los 10 KB, Flash Player (en Windows) primero envía una operación POST de carga de prueba sin contenido antes de cargar el archivo real. De esta forma, se verifica si la transmisión será correcta. A continuación, Flash Player envía una segunda operación POST que incluye el contenido del archivo real. En el caso de archivos con tamaño inferior a 10 KB, Flash Player lleva a cabo una sola operación POST de carga con el contenido del archivo real. En Macintosh, Flash Player no lleva a cabo ninguna operación POST de carga de prueba.
Nota: si el servidor requiere autenticación del usuario, sólo los archivos que se ejecutan en un navegador, es decir que utilizan el plug-in de navegador o controles ActiveX, pueden mostrar un cuadro de diálogo para pedir al usuario un nombre de usuario y una contraseña para la autenticación, y sólo para las descargas. La transferencia de archivos fallará en las cargas que utilicen el plug-in o el control ActiveX, y en las cargas y descargas que utilicen el reproductor autónomo o externo.
Cuando utilice este método, tenga en cuenta las restricciones siguientes para el modelo de seguridad de Flash Player:
allowNetworking de las etiquetas object y embed de la página HTML que aloja el contenido SWF.Para más información, consulte las siguientes secciones:
Parámetros
request:URLRequest — El objeto URLRequest; la propiedad url del objeto URLRequest debe contener la URL del script del servidor configurado para controlar la carga mediante llamadas POST HTTP. En algunos navegadores, las cadenas URL tienen un límite de longitud. Las cadenas con una longitud superior a los 256 caracteres pueden producir un error en algunos navegadores o servidores. Si este parámetro es null, se emitirá una excepción.
La URL puede ser HTTP o, en cargas seguras, HTTPS. Para utilizar HTTPS, emplee una URL HTTPS en el parámetro Para enviar parámetros |
|
uploadDataFieldName:String (default = "Filedata") — El nombre del campo que precede a los datos del archivo en la operación de carga POST. El valor uploadDataFieldName no puede ser null ni una cadena que no esté vacía. De forma predeterminada, el valor de uploadDataFieldName es "Filedata", como se puede ver en la siguiente solicitud POST de ejemplo:
Content-Type: multipart/form-data; boundary=AaB03x --AaB03x Content-Disposition: form-data; name="Filedata"; filename="example.jpg" Content-Type: application/octet-stream... contents of example.jpg... --AaB03x-- |
|
testUpload:Boolean (default = false) — Un parámetro para solicitar la carga de un archivo de prueba. Si testUpload presenta el valor true, en archivos con tamaño superior a 10 KB, Flash Player intenta llevar a cabo una operación POST con un valor Content-Length de 0. Esta operación comprueba si la carga del archivo real se realizará correctamente y si tampoco se producirán errores de autenticación de servidor. La operación de carga de prueba sólo está disponible en reproductores de Windows.
|
open: — Se distribuye cuando se inicia una operación de carga. |
|
progress: — Se distribuye periódicamente durante la operación de carga de archivos. |
|
complete: — Se distribuye cuando la operación de carga de archivos se realiza completamente. |
|
uploadCompleteData: — Se distribuye cuando se reciben datos del servidor tras cargar correctamente un archivo. |
|
securityError: — Se distribuye cuando falla la carga debido a una infracción de la seguridad. |
|
httpStatus: — Se distribuye cuando falla una carga debido a un error HTTP. |
|
ioError: — Se invoca en cualquiera de las situaciones siguientes:
|
SecurityError — Los archivos SWF locales que no son de confianza no pueden comunicarse en Internet. Para solucionar esta situación, reclasifique el archivo SWF como archivo local de red o archivo de confianza. Esta excepción se emite con un mensaje que indica el nombre del archivo local y la URL a la que tal vez no se pueda acceder.
|
|
IllegalOperationError — Se emite en las situaciones 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) El parámetro URL no es una ruta o protocolo válido. Se debe utilizar HTTP para la carga de archivos y FTP o HTTP para la descarga. 3) El parámetro uploadDataFieldName se establece como null. 4) Un ajuste del archivo mms.cfg del usuario prohíbe esta operación.
|
|
ArgumentError — Se emite en las situaciones siguientes: 1) El parámetro uploadDataFieldName es una cadena vacía. 2) url.data es de tipo ByteArray. Si se utiliza con los métodos FileReference.upload() y FileReference.download(), url.data sólo puede ser de tipo URLVariables o String.
|
|
MemoryError — Este error puede producirse por los motivos siguientes: 1) Flash Player no puede convertir el parámetro URLRequest.data de UTF8 a MBCS. Este error es aplicable si se define el objeto URLRequest transferido a FileReference.upload() para que lleve a cabo una operación GET y si System.useCodePage se define como true. 2) Flash Player no puede asignar memoria para los datos POST. Este error es aplicable si se define el objeto URLRequest transferido a FileReference.upload() para que lleve a cabo una operación POST.
|
Véase también
| cancel | Evento |
flash.events.Event
flash.events.Event.CANCEL
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando el usuario cancela la carga o descarga de un archivo mediante el cuadro de diálogo de búsqueda de archivos. Flash Player no distribuye este evento si el usuario cancela una carga o descarga mediante otros métodos (cerrando el navegador o la aplicación actual).
Define el valor de la propiedadtype de un objeto de evento cancel.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Referencia al objeto en el que se cancela la operación. |
cancel. Para ejecutar este ejemplo, cambie la propiedad downloadURL.url para que señale a un dominio y archivo reales, y no a la URL ficticia http://www.[yourDomain].com/SomeFile.pdf. 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.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;
public class FileReference_event_cancel extends Sprite {
private var downloadURL:URLRequest;
private var fileName:String = "SomeFile.pdf";
private var file:FileReference;
public function FileReference_event_cancel() {
downloadURL = new URLRequest();
downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
file = new FileReference();
file.addEventListener(Event.CANCEL, cancelHandler);
file.download(downloadURL, fileName);
}
private function cancelHandler(event:Event):void {
trace("cancelHandler: " + event);
}
}
}| complete | Evento |
flash.events.Event
flash.events.Event.COMPLETE
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando finaliza la descarga o cuando la carga genera un código de estado HTTP de 200. En el caso de la descarga de archivos, se distribuye cuando Flash Player finaliza la descarga del archivo completo en el disco. En el caso de la carga de archivos, este evento se distribuye después de que Flash Player haya recibido un código de estado HTTP de 200 desde el servidor que recibe la transmisión.
Define el valor de la propiedadtype de un objeto de evento complete.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Objeto de red que ha terminado de cargarse. |
complete. Para ejecutar este ejemplo, cambie la propiedad downloadURL.url para que señale a un dominio y archivo reales, y no a la URL ficticia http://www.[yourDomain].com/SomeFile.pdf. 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.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;
public class FileReference_event_complete extends Sprite {
private var downloadURL:URLRequest;
private var fileName:String = "SomeFile.pdf";
private var file:FileReference;
public function FileReference_event_complete() {
downloadURL = new URLRequest();
downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
file = new FileReference();
configureListeners(file);
file.download(downloadURL, fileName);
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
}
private function cancelHandler(event:Event):void {
trace("cancelHandler: " + event);
}
private function completeHandler(event:Event):void {
trace("completeHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
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 securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
}
}
}Véase también
| httpStatus | Evento |
flash.events.HTTPStatusEvent
flash.events.HTTPStatusEvent.HTTP_STATUS
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando la carga falla y hay un código de estado HTTP disponible para describir el error. El evento httpStatus siempre se distribuye, seguido de un evento ioError.
El evento httpStatus se distribuye sólo cuando se producen errores de carga. Debido a la forma en que Flash Player se basa en la pila del navegador durante la descarga de archivos, este evento no es aplicable a fallos de descarga. Si falla una descarga debido a un error HTTP, el error se transmite como error de E/S.
type de un objeto de evento httpStatus.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
status | El código de estado HTTP que devuelve el servidor. |
target | El objeto de red que recibe el código de estado HTTP. |
Véase también
| ioError | Evento |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando falla la carga o la descarga. La transferencia de archivos puede fallar por uno de los siguientes motivos:
url en el método upload() contiene un protocolo no válido. Los protocolos válidos son HTTP y HTTPS.Importante: sólo las aplicaciones Flash que se ejecutan en un navegador, es decir, que emplean el plug-in de navegador o un control ActiveX, pueden mostrar un cuadro de diálogo para pedir al usuario que introduzca un nombre de usuario y una contraseña para la autenticación y, además, sólo para descargas. La transferencia de archivos fallará en las cargas que utilicen el plug-in o el control ActiveX, y en las cargas y descargas que utilicen el reproductor autónomo o externo.
Define el valor de la propiedadtype de un objeto de evento ioError.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto de red en el que se produce el error de entrada/salida. |
text | Texto que se mostrará como mensaje de error. |
Véase también
| open | Evento |
flash.events.Event
flash.events.Event.OPEN
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando se inicia una operación de carga o descarga.
Define el valor de la propiedadtype de un objeto de evento open.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Objeto de red que ha abierto una conexión. |
download. Para ejecutar este ejemplo, cambie la propiedad downloadURL.url para que señale a un dominio y archivo reales, y no a la URL ficticia http://www.[yourDomain].com/SomeFile.pdf. 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.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;
import flash.net.FileFilter;
public class FileReference_download extends Sprite {
private var downloadURL:URLRequest;
private var fileName:String = "SomeFile.pdf";
private var file:FileReference;
public function FileReference_download() {
downloadURL = new URLRequest();
downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
file = new FileReference();
configureListeners(file);
file.download(downloadURL, fileName);
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
}
private function cancelHandler(event:Event):void {
trace("cancelHandler: " + event);
}
private function completeHandler(event:Event):void {
trace("completeHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
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 securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
}
}
}Véase también
| progress | Evento |
flash.events.ProgressEvent
flash.events.ProgressEvent.PROGRESS
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye periódicamente durante la operación de carga o descarga de archivos. El evento progress se distribuye mientras Flash Player transmite bytes a un servidor y se distribuye de forma periódica durante la transmisión, aunque no finalice correctamente. Para determinar si la transmisión realmente es correcta y completa, detecte el evento complete.
En algunos casos, no se reciben eventos progress. Por ejemplo, si el archivo que se transmite es muy pequeño o si la carga o la descarga se producen muy rápido, es posible que no se distribuya un evento progress.
El progreso de carga de archivos no puede determinarse en plataformas Macintosh anteriores a OS X 10.3. Durante la operación de carga, se llama al evento progress, pero el valor de la propiedad bytesLoaded del evento de progreso es -1, lo que indica que no es posible determinar el progreso.
type de un objeto de evento progress.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
bytesLoaded | Número de elementos o bytes cargados en el momento en que el detector procesa el evento. |
bytesTotal | Número total de elementos o bytes que se cargarán en última instancia si el proceso de carga se realiza correctamente. |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto de red que informa sobre el progreso. |
progress. Para ejecutar este ejemplo, cambie la propiedad downloadURL.url para que señale a un dominio y archivo reales, y no a la URL ficticia http://www.[yourDomain].com/SomeFile.pdf. 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.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;
public class FileReference_event_progress extends Sprite {
private var downloadURL:URLRequest;
private var fileName:String = "SomeFile.pdf";
private var file:FileReference;
public function FileReference_event_progress() {
downloadURL = new URLRequest();
downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
file = new FileReference();
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
file.addEventListener(Event.COMPLETE, completeHandler);
file.download(downloadURL, fileName);
}
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 ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function completeHandler(event:Event):void {
trace("completeHandler: " + event);
}
}
}Véase también
| securityError | Evento |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando una llamada al método FileReference.upload() o FileReference.download() intenta cargar un archivo en un servidor u obtener un archivo de un servidor que se encuentra fuera del entorno limitado de seguridad del elemento que realiza la llamada. El valor de la propiedad de texto que describe el error específico ocurrido suele ser "securitySandboxError". Es posible que el archivo SWF que realiza la llamada haya intentado acceder a un archivo SWF fuera de su dominio y no tenga permiso para hacerlo. Puede intentar solucionar este error utilizando un archivo de política de varios dominios.
SecurityErrorEvent.SECURITY_ERROR define el valor de la propiedad type de un objeto de evento securityError.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto de red que informa sobre le error de seguridad. |
text | Texto que se mostrará como mensaje de error. |
Véase también
| select | Evento |
flash.events.Event
flash.events.Event.SELECT
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando el usuario selecciona un archivo para la carga o descarga en el cuadro de diálogo de búsqueda de archivos. (Este cuadro de diálogo se abre cuando llama a los métodos FileReference.browse(), FileReferenceList.browse() o FileReference.download().) Cuando el usuario selecciona un archivo y confirma la operación (por ejemplo, haciendo clic en Aceptar), se llenan las propiedades del objeto FileReference.
El evento select se comporta de forma algo diferente según el método que lo invoque. Cuando se distribuye el evento select después de una llamada a browse(), Flash Player puede leer todas las propiedades del objeto FileReference, ya que el archivo seleccionado por el usuario está en el sistema de archivos local. Cuando se distribuye el evento select después de una llamada a download(), Flash Player sólo puede leer la propiedad name, debido a que el archivo no se ha descargado todavía en el sistema local de archivos en el momento de distribuir el evento select. Una vez que se haya descargado el archivo y se haya distribuido el evento complete, Flash Player puede leer todas las demás propiedades del objeto FileReference.
type de un objeto de evento select.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto FileReference en el que se ha seleccionado un elemento. |
select. Para ejecutar este ejemplo, cambie la propiedad uploadURL.url para que señale a un dominio y archivo reales, y no a la URL ficticia http://www.[yourDomain].com/SomeFile.pdf. 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. Para poder ejecutar este ejemplo desde su escritorio, el servidor también debe tener un archivo publicado crossdomain.xml Si se activa la función ioErrorHandler(), es probable que deba actualizar el uploadURL proporcionado con una URL válida configurada para recibir cargas.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileReference;
import flash.net.URLRequest;
public class FileReference_event_select extends Sprite {
private var uploadURL:URLRequest;
private var file:FileReference;
public function FileReference_event_select() {
uploadURL = new URLRequest();
uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm";
file = new FileReference();
file.addEventListener(Event.SELECT, selectHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(Event.COMPLETE, completeHandler);
file.browse();
}
private function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url);
file.upload(uploadURL);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
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 {
trace("completeHandler: " + event);
}
}
}| uploadCompleteData | Evento |
flash.events.DataEvent
flash.events.DataEvent.UPLOAD_COMPLETE_DATA
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9.0.28.0 |
Se distribuye cuando se han recibido datos del servidor tras una carga correcta. Este evento no se distribuye si no se devuelven datos desde el servidor.
Define el valor de la propiedadtype de un objeto de evento uploadCompleteData.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
data | Datos sin formato devueltos del servidor tras cargarse correctamente un archivo. |
target | Objeto FileReference que recibe los datos tras una carga correcta. |
Nota: para ejecutar este ejemplo, cambie la propiedad uploadURL.url para que señale a una URL real, y no a la URL ficticia del ejemplo. La URL debe señalar a un archivo llamado yourUploadHandlerScript.cfm en el directorio raíz Web de la URL especificada. Según la configuración, 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.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.net.URLRequest;
public class FileReferenceExample extends Sprite {
private var uploadURL:URLRequest;
private var file:FileReference;
public function FileReferenceExample() {
uploadURL = new URLRequest();
uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm";
file = new FileReference();
configureListeners(file);
file.browse(getTypes());
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
}
private function getTypes():Array {
var allTypes:Array = new Array(getImageTypeFilter(), 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 cancelHandler(event:Event):void {
trace("cancelHandler: " + event);
}
private function completeHandler(event:Event):void {
trace("completeHandler: " + event);
}
private function uploadCompleteDataHandler(event:Event):void {
trace("uploadCompleteData: " + event);
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
trace("httpStatusHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
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 securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url);
file.upload(uploadURL);
}
}
}
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/FileReference.html