Paquete | flash.net |
Clase | public class FileReference |
Herencia | FileReference EventDispatcher Object |
Subclases | File |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Nota: en Adobe AIR, la clase File, que amplía la clase FileReference, ofrece más capacidades y tiene menos restricciones de seguridad que la clase FileReference.
Las instancias de FileReference se crean del modo siguiente:
- Cuando utiliza el operador
new
con el constructor FileReference:var myFileReference = new FileReference();
- Cuando se llama al método
FileReferenceList.browse()
, que crea un conjunto 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 el contenido que se ejecuta en Flash Player o en Adobe AIR fuera del entorno limitado de seguridad de la aplicación, las operaciones de carga y descarga pueden acceder a los archivos únicamente desde su propio dominio y desde cualquier domino que especifique un archivo de política URL. Si el contenido 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.
Tenga en cuenta que, debido a la nueva funcionalidad añadida a Flash Player, cuando se publica en Flash Player 10, sólo es posible activar una de las siguientes operaciones cada vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. En caso contrario, Flash Player emite un error de tiempo de ejecución (código 2174). Utilice FileReference.cancel()
para detener una operación en curso. Esta restricción sólo se aplica a Flash Player 10. Las versiones anteriores de Flash Player no se ven afectadas por esta restricción de múltiples operaciones simultáneas.
Mientras se ejecutan las llamadas a los métodos FileReference.browse()
, FileReferenceList.browse()
o FileReference.download()
, la reproducción del archivo SWF se detiene en las versiones autónoma y externa de Flash Player y en AIR 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=----------Ij5ae0ae0KM7GI3KM7 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="Filedata"; 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=----------Ij5ae0ae0KM7GI3KM7 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="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Elementos de API relacionados
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 [solo lectura]
La fecha de creación del archivo en el disco local. | FileReference | ||
creator : String [solo lectura]
Tipo de creador de Macintosh del archivo; sólo se utiliza en versiones de Mac OS anteriores a Mac OS X. | FileReference | ||
data : ByteArray [solo lectura]
El objeto ByteArray que representa los datos del archivo cargado tras una llamada correcta al método load(). | FileReference | ||
extension : String [solo lectura]
Extensión del nombre de archivo. | FileReference | ||
modificationDate : Date [solo lectura]
La última fecha de modificación del archivo en el disco local. | FileReference | ||
name : String [solo lectura]
El nombre del archivo en el disco local. | FileReference | ||
permissionStatus : String [estática] [solo lectura]
Determine si se le ha concedido a la aplicación el permiso para acceder al sistema de archivos. | FileReference | ||
size : Number [solo lectura]
El tamaño del archivo en el disco local, expresado en bytes. | FileReference | ||
type : String [solo lectura]
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 | ||
Inicia la carga de un archivo local seleccionado por un usuario. | FileReference | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Solicita permiso para acceder al sistema de archivos. | FileReference | ||
Abre un cuadro de diálogo que permite al usuario guardar un archivo en el sistema de archivos local. | FileReference | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | 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 en un servidor remoto. | FileReference | ||
Inicia la carga de un archivo en una URL sin codificación. | 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 | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | 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 | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
Se distribuye si una llamada a los métodos upload() o uploadUnencoded() intenta acceder a los datos mediante HTTP y Adobe AIR puede detectar y devolver el código de estado de la petición. | FileReference | |||
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 cuando la aplicación pide permiso para acceder al sistema de archivos. | 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
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
La fecha de creación del archivo en el disco local. Si aún no se ha llenado el objeto , una llamada para obtener el valor de esta propiedad devolverá null
.
Nota: Si un sistema operativo no tiene creationDate
como su propiedad, en estos casos, CreationDate
es igual a lastModifiedDate
.
Implementación
public function get creationDate():Date
Emite
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.
|
Elementos de API relacionados
creator | propiedad |
creator:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Tipo de creador de Macintosh del archivo; sólo se utiliza en versiones de Mac OS anteriores a Mac OS X. En Windows o Linux, 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
.
Implementación
public function get creator():String
Emite
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 .
|
Elementos de API relacionados
data | propiedad |
data:ByteArray
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
El objeto ByteArray que representa los datos del archivo cargado tras una llamada correcta al método load()
.
Implementación
public function get data():ByteArray
Emite
IllegalOperationError — Si la llamada al método load() 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 data es null .
| |
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 data es null .
|
Elementos de API relacionados
extension | propiedad |
extension:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Extensión del nombre de archivo.
La extensión de un archivo es la parte del nombre situada a la derecha del punto final ("."), sin incluirlo. Si el nombre de archivo no tiene ningún punto, la extensión es null
.
Nota: debe utilizar la propiedad extension
para determinar el tipo de un archivo; no utilice las propiedades creator
o type
. A efectos prácticos, debería considerar las propiedades creator
y type
como desfasadas. Sólo se aplican a versiones antiguas de Mac OS.
Implementación
public function get extension():String
Emite
IllegalOperationError — Si la referencia no está inicializada.
|
modificationDate | propiedad |
modificationDate:Date
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, 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
.
Implementación
public function get modificationDate():Date
Emite
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.
|
Elementos de API relacionados
name | propiedad |
name:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
El nombre del archivo en el disco local. Si el objeto FileReference no se llenó (mediante una llamada válida a FileReference.download()
o a FileReference.browse()
), Flash Player emitirá un error al intentar obtener el valor de esta propiedad.
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
.
Implementación
public function get name():String
Emite
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.
|
Elementos de API relacionados
permissionStatus | propiedad |
permissionStatus:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 24.0 |
Determine si se le ha concedido a la aplicación el permiso para acceder al sistema de archivos.
Implementación
public static function get permissionStatus():String
Elementos de API relacionados
size | propiedad |
size:Number
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
El tamaño del archivo en el disco local, expresado en bytes.
Nota: en la versión inicial de ActionScript 3.0, la propiedad size
se definía como un objeto uint compatible con archivos de hasta 4 GB de tamaño. Ahora se ha implementado como un objeto Number para admitir archivos de mayor tamaño.
Implementación
public function get size():Number
Emite
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.
| |
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.
|
Elementos de API relacionados
type | propiedad |
type:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
El tipo de archivo.
En Windows o Linux, esta propiedad es la extensión del archivo. En Macintosh, esta propiedad es de tipos de archivos de cuatro caracteres, que sólo se utilizan en versiones de Mac OS anteriores a Mac OS X. Si el objeto FileReference no se llenó, la llamada para obtener el valor de esta propiedad devuelve null
.
En Windows, en Linux y en Mac OS X, la extensión del archivo (la parte de la propiedad name
que va a la derecha del punto (.)) identifica el tipo de archivo.
Implementación
public function get type():String
Emite
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 .
|
Elementos de API relacionados
FileReference | () | Información sobre |
public function FileReference()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Crea un nuevo objeto FileReference. Cuando está lleno, un objeto FileReference representa un archivo en el disco local del usuario.
Elementos de API relacionados
browse | () | método |
public function browse(typeFilter:Array = null):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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.
Nota: la clase File, disponible en Adobe AIR, incluye métodos para acceder a cuadros de diálogo de selección de archivos del sistema más específicos. Estos métodos son File.browseForDirectory()
, File.browseForOpen()
, File.browseForOpenMultiple()
y File.browseForSave()
.
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.
En la actualización 5 de Flash Player 10 y Flash Player 9, es posible llamar correctamente a este método sólo como respuesta a un evento de usuario (por ejemplo, en un controlador de eventos de clic de ratón o de pulsación de tecla). En caso contrario, al llamar a este método Flash Player emite una excepción Error.
Tenga en cuenta que, debido a la nueva funcionalidad añadida a Flash Player, cuando se publica en Flash Player 10, sólo es posible activar una de las siguientes operaciones cada vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. En caso contrario, Flash Player emite un error de tiempo de ejecución (código 2174). Utilice FileReference.cancel()
para detener una operación en curso. Esta restricción sólo se aplica a Flash Player 10. Las versiones anteriores de Flash Player no se ven afectadas por esta restricción de múltiples operaciones simultáneas.
En Adobe AIR, el diálogo de búsqueda de archivos no se muestra siempre delante de las ventanas que son “propiedad” de otra ventana (ventanas cuya propiedad owner
no sea null). Para evitar problemas de ordenación de ventanas, oculte las ventanas pertenecientes antes de llamar a este método.
Parámetros
typeFilter:Array (default = null ) — Un conjunto 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.
|
Eventos
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.
|
Emite
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 el conjunto 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.
| |
Error — Si no se llama al método como respuesta a la acción de un usuario, como un evento de ratón o de pulsación de tecla.
|
Elementos de API relacionados
Evento cancel
FileReference.download()
FileReferenceList.browse()
File.browseForDirectory()
File.browseForOpen()
File.browseForOpenMultiple()
File.browseForSave()
cancel | () | método |
public function cancel():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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 |
Versiones de motor de ejecución: | AIR 1.0, 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 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.
No es posible conectar con puertos reservados comúnmente. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
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:
- No se admiten operaciones de carga si el archivo SWF que realiza la llamada está en un entorno limitado local que no es de confianza.
- El comportamiento predeterminado es denegar el acceso entre entornos limitados. Un sitio web puede activar el acceso a un recurso agregando un archivo de política URL.
- Asimismo, se puede impedir que un archivo SWF utilice este método si define el parámetro
allowNetworking
de las etiquetasobject
yembed
de la página HTML que aloja el contenido SWF. - En la actualización 5 de Flash Player 10 y Flash Player 9, es posible llamar correctamente a este método sólo como respuesta a un evento de usuario (por ejemplo, en un controlador de eventos de clic de ratón o de pulsación de tecla). En caso contrario, al llamar a este método Flash Player emite una excepción Error.
Sin embargo, en Adobe AIR, el contenido del entorno limitado de seguridad de la aplicación
(contenido instalado con la aplicación de AIR) no está limitado por estas restricciones de seguridad.
Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad.
Cuando se descarga un archivo con este método, se marca como descargado en sistemas operativos que marcan los archivos descargados:
- Windows XP Service Pack 2 y posterior, y en Windows Vista
- Mac OS 10.5 y versiones posteriores
Algunos sistemas operativos, como Linux, no marcan los archivos descargados.
Tenga en cuenta que, debido a la nueva funcionalidad añadida a Flash Player, cuando se publica en Flash Player 10, sólo es posible activar una de las siguientes operaciones cada vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. En caso contrario, Flash Player emite un error de tiempo de ejecución (código 2174). Utilice FileReference.cancel()
para detener una operación en curso. Esta restricción sólo se aplica a Flash Player 10. Las versiones anteriores de Flash Player no se ven afectadas por esta restricción de múltiples operaciones simultáneas.
En Adobe AIR, el diálogo de descarga no se muestra siempre delante de las ventanas que son “propiedad” de otra ventana (ventanas cuya propiedad owner
no sea null). Para evitar problemas de ordenación de ventanas, oculte las ventanas pertenecientes antes de llamar a este método.
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. La propiedad requestHeaders del objeto URLRequest se omite; los encabezados de la petición HTTP personalizados no se admiten en las cargas y descargas. 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. |
Eventos
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:
|
Emite
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 — El contenido locales que no es de confianza no puede 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.
| |
SecurityError — No es posible conectar con puertos reservados comúnmente. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
| |
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 .
| |
Error — Si no se llama al método como respuesta a la acción de un usuario, como un evento de ratón o de pulsación de tecla.
|
Elementos de API relacionados
FileReference.browse()
FileReferenceList.browse()
FileReference.upload()
FileReference.save()
Ejemplo ( Cómo utilizar este ejemplo )
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); } } }
load | () | método |
public function load():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Inicia la carga de un archivo local seleccionado por un usuario. Aunque Flash Player no tiene restricciones con respecto al tamaño de los archivos que pueden cargarse, descargarse o guardarse, oficialmente admite tamaños de hasta 100 MB. Para contenido ejecutado en Flash Player, debe llamar al método FileReference.browse()
o FileReferenceList.browse()
antes de llamar al método load()
. Sin embargo, el contenido ejecutado en AIR en el entorno limitado de la aplicación puede llamar al método load()
de un objeto File sin llamar primero al método browse()
. (La clase File de AIR amplía la clase FileReference.)
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 cargar, se deben cargar de uno en uno. Para cargar los archivos de uno en uno, itere el conjunto FileReferenceList.fileList
de objetos FileReference.
Adobe AIR también incluye la clase FileStream que proporciona más opciones para leer archivos.
Las funciones FileReference.upload()
, FileReference.download()
, FileReference.load()
y FileReference.save()
son no 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 transacción que no haya finalizado en dicho objeto. Es importante que el objeto FileReference permanezca dentro del ámbito durante todo el tiempo de carga, descarga y grabación.
Si el archivo finaliza la carga correctamente, su contenido se guarda como un conjunto de bytes en la propiedad data
del objeto FileReference.
Se deben tener en cuenta las siguientes consideraciones de seguridad:
- No se admiten operaciones de carga si el archivo SWF que realiza la llamada está en un entorno limitado local que no es de confianza.
- El comportamiento predeterminado es denegar el acceso entre entornos limitados. Un sitio web puede activar el acceso a un recurso utilizando un archivo de política de varios dominios.
- Asimismo, se puede impedir que un archivo utilice este método si define el parámetro
allowNetworking
de las etiquetasobject
yembed
de la página HTML que aloja el contenido SWF.
No obstante, estas consideraciones no se aplican a contenido de AIR en el entorno limitado de la aplicación.
Tenga en cuenta que al publicar en Flash Player 10 o en AIR 1.5, sólo puede tener una de las siguientes operaciones activas al mismo tiempo: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. En caso contrario, la aplicación emite un error de tiempo de ejecución (código 2174). Utilice FileReference.cancel()
para detener una operación en curso. Esta restricción se aplica sólo a Flash Player 10 y AIR 1.5. Las versiones anteriores de Flash Player o de AIR no se ven afectadas por la restricción en operaciones simultáneas.
En Adobe AIR, el diálogo de búsqueda de archivos no se muestra siempre delante de las ventanas que son “propiedad” de otra ventana (ventanas cuya propiedad owner
no sea null). Para evitar problemas de ordenación de ventanas, oculte las ventanas pertenecientes antes de llamar a este método.
Eventos
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.
| |
ioError: — Se invoca si la carga falla debido a un error de entrada/salida mientras la aplicación lee o escribe el archivo.
|
Emite
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.
| |
MemoryError — Este error puede producirse si la aplicación no puede asignar memoria al archivo. Tal vez el archivo sea demasiado grande o la memoria sea insuficiente.
|
Elementos de API relacionados
FileReferenceList.browse()
FileReference.data
FileReferenceList.fileList
FileReference.save()
FileStream
Ejemplo ( Cómo utilizar este ejemplo )
var buttonShape:Shape = new Shape(); buttonShape.graphics.beginFill(0x336699); buttonShape.graphics.drawCircle(50, 50, 25); var button = new SimpleButton(buttonShape, buttonShape, buttonShape, buttonShape); addChild(button); var fileRef:FileReference= new FileReference(); button.addEventListener(MouseEvent.CLICK, onButtonClick); function onButtonClick(e:MouseEvent):void { fileRef.browse([new FileFilter("Images", "*.jpg;*.gif;*.png")]); fileRef.addEventListener(Event.SELECT, onFileSelected); } function onFileSelected(e:Event):void { fileRef.addEventListener(Event.COMPLETE, onFileLoaded); fileRef.load(); } function onFileLoaded(e:Event):void { var loader:Loader = new Loader(); loader.loadBytes(e.target.data); addChild(loader); }
requestPermission | () | método |
public function requestPermission():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 24.0 |
Solicita permiso para acceder al sistema de archivos.
Eventos
PermissionStatus: — se distribuye cuando el usuario concede o deniega el permiso solicitado.
|
save | () | método |
public function save(data:*, defaultFileName:String = null):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Abre un cuadro de diálogo que permite al usuario guardar un archivo en el sistema de archivos local. Aunque Flash Player no tiene restricciones con respecto al tamaño de los archivos que pueden cargarse, descargarse o guardarse, oficialmente el reproductor admite tamaños de hasta 100 MB.
Este método save()
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 grabación (por ejemplo, haciendo clic en Guardar), se inicia el proceso de grabación. Los detectores reciben eventos para indicar el progreso, éxito o error en la operación de grabación. Para comprobar el estado del cuadro de diálogo y la operación de grabación después de llamar a save()
, el código deberá detectar eventos como cancel
, open
, progress
y complete
.
Adobe AIR también incluye la clase FileStream que proporciona más opciones para guardar archivos localmente.
Las funciones FileReference.upload()
, FileReference.download()
, FileReference.load()
y FileReference.save()
son no 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 transacción que no haya finalizado en dicho objeto. Es importante que el objeto FileReference permanezca dentro del ámbito durante todo el tiempo de carga, descarga y grabación.
Una vez guardado correctamente el archivo, las propiedades del objeto FileReference se llenan con las propiedades del archivo local. Se distribuye el evento complete
si la grabación se realiza correctamente.
Sólo se puede realizar una sesión browse()
o save()
cada vez (porque no se pueden invocar varios cuadros de diálogo de forma simultánea).
En Flash Player es posible llamar correctamente a este método sólo como respuesta a un evento de usuario (por ejemplo, en un controlador de eventos de clic de ratón o de pulsación de tecla). En caso contrario, al llamar a este método Flash Player emite una excepción Error. Esta restricción no está presente en el contenido de AIR en el entorno limitado de la aplicación.
En Adobe AIR, el diálogo para guardar no se muestra siempre delante de las ventanas que son “propiedad” de otra ventana (ventanas cuya propiedad owner
no sea null). Para evitar problemas de ordenación de ventanas, oculte las ventanas pertenecientes antes de llamar a este método.
Parámetros
data:* — Los datos que se van a guardar. Los datos pueden estar varios formatos y se tratarán según corresponda:
| |
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 guardar. Esta cadena no puede contener los siguientes caracteres: / \ : * ? " < > | %
Si un objeto File llama a este método, el nombre de archivo será el del archivo al que haga referencia el objeto File. (La clase File de AIR amplía la clase FileReference.) |
Eventos
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.
| |
ioError: — Se distribuye si se produce un error de entrada/salida mientras se lee o transmite el archivo.
|
Emite
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 nombre de archivo que se va a descargar contiene caracteres no permitidos. 3) Un ajuste del archivo mms.cfg del usuario prohíbe esta operación.
| |
ArgumentError — Si data no es de tipo ByteArray y si no tiene ningún método toString() , se emite una excepción. Si data no es de tipo XML y si no tiene ningún método toXMLString() , se emite una excepción.
| |
Error — Si no se llama al método como respuesta a la acción de un usuario, como un evento de ratón o de pulsación de tecla.
| |
MemoryError — Este error puede producirse si Flash Player no puede asignar memoria al archivo. Tal vez el archivo sea demasiado grande o la memoria sea insuficiente.
|
Elementos de API relacionados
FileReference.load()
FileReference.data
FileReference.upload()
FileReference.download()
FileStream
Ejemplo ( Cómo utilizar este ejemplo )
MyTextField
) y otro campo de texto que no se puede editar (MyButtonField
para que actúe como “botón” que responde a un clic del ratón. Un usuario puede editar el primer campo de texto y hacer clic en el botón para guardar el contenido del campo de texto en un archivo local. El controlador de eventos de clic del ratón clickhandler
utiliza el método FileReference.save()
(para un objeto FileReference llamado MyFileReference
) para abrir un diálogo del sistema operativo actual del usuario y que el usuario pueda guardar el contenido en un archivo local con el nombre que proporcione.
var MyTextField:TextField = new TextField(); var MyButtonField:TextField = new TextField(); var MyFile:FileReference = new FileReference(); MyTextField.border = true; MyTextField.type = TextFieldType.INPUT; MyButtonField.background = true; MyButtonField.backgroundColor = 0x339933; MyButtonField.x = 150; MyButtonField.height = 20; MyButtonField.text = "Click here to save"; addChild(MyTextField); addChild(MyButtonField); MyButtonField.addEventListener(MouseEvent.CLICK, clickhandler); function clickhandler(e:MouseEvent): void { MyFile.save(MyTextField.text); }
upload | () | método |
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Inicia la carga de un archivo 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.
Para información sobre la clase File de Adobe AIR, que amplía la clase FileReference, puede utilizar el método upload()
para cargar cualquier archivo. Para información sobre la la clase FileReference (utilizada en Flash Player), el usuario debe primero seleccionar un archivo.
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 el conjunto 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
demultipart/form-data
- Un elemento
Content-Disposition
con un atributoname
establecido de forma predeterminada como"Filedata"
y un atributofilename
establecido como el nombre del archivo original. - El contenido binario del archivo.
No es posible conectar con puertos reservados comúnmente. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
Para consultar una petición 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 el modelo de seguridad de Flash Player:
- No se admiten operaciones de carga si el archivo SWF que realiza la llamada está en un entorno limitado local que no es de confianza.
- El comportamiento predeterminado es denegar el acceso entre entornos limitados. Un sitio web puede activar el acceso a un recurso agregando un archivo de política URL.
- Asimismo, se puede impedir que un archivo SWF utilice este método si define el parámetro
allowNetworking
de las etiquetasobject
yembed
de la página HTML que aloja el contenido SWF.
Sin embargo, en Adobe AIR, el contenido del entorno limitado de seguridad de la aplicación
(contenido instalado con la aplicación de AIR) no está limitado por estas restricciones de seguridad.
Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad.
Tenga en cuenta que, debido a la nueva funcionalidad añadida a Flash Player, cuando se publica en Flash Player 10, sólo es posible activar una de las siguientes operaciones cada vez: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. En caso contrario, Flash Player emite un error de tiempo de ejecución (código 2174). Utilice FileReference.cancel()
para detener una operación en curso. Esta restricción sólo se aplica a Flash Player 10. Las versiones anteriores de Flash Player no se ven afectadas por esta restricción de múltiples operaciones simultáneas.
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 propiedad requestHeaders del objeto URLRequest se omite; los encabezados de la petición HTTP personalizados no se admiten en las cargas y descargas.
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.
|
Eventos
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.
| |
httpResponseStatus: — La operación de carga finaliza correctamente y el servidor devuelve una URL y encabezados de respuesta.
| |
ioError: — Se invoca en cualquiera de las situaciones siguientes:
|
Emite
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.
| |
SecurityError — No es posible conectar con puertos reservados comúnmente. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
| |
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. 3) En el motor de ejecución de AIR (en el entorno limitado de seguridad de la aplicación), el método de URLRequest no es GET ni POST (utilice uploadEncoded() ).
| |
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 .
|
Elementos de API relacionados
uploadUnencoded | () | método |
public function uploadUnencoded(request:URLRequest):void
Versiones de motor de ejecución: | AIR 1.0 |
Inicia la carga de un archivo en una URL sin codificación. Mientras que el método upload()
codifica el archivo con envoltura de datos de formulario, el método uploadUnencoded()
, por su parte, transfiere el contenido del archivo tal cual en el cuerpo de la petición HTTP. Utilice el método uploadUnencoded() si los datos que quiere enviar ya están codificados en un formato comprensible para el servidor de recepción. Normalmente, el método uploadeUnencoded()
se utiliza con el método HTTP/WebDAV PUT
.
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 |
Eventos
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.
| |
httpResponseStatus: — La operación de carga finaliza correctamente y el servidor devuelve una URL y encabezados de respuesta.
| |
ioError: — Se invoca en cualquiera de las situaciones siguientes:
|
Emite
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. La carga del archivo debe utilizar HTTP.
|
Elementos de API relacionados
cancel | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.CANCEL
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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).
La constanteEvent.CANCEL
define el valor de la propiedad type
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 | 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. |
Ejemplo ( Cómo utilizar este ejemplo )
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
propiedad Event.type =
flash.events.Event.COMPLETE
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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 o de Adobe AIR 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 o Adobe AIR hayan recibido un código de estado HTTP de 200 desde el servidor que recibe la transmisión.
La constanteEvent.COMPLETE
define el valor de la propiedad type
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 | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Objeto de red que ha terminado de cargarse. |
Ejemplo ( Cómo utilizar este ejemplo )
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); } } }
Elementos de API relacionados
httpResponseStatus | Evento |
flash.events.HTTPStatusEvent
propiedad HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, AIR 1.0 |
Se distribuye si una llamada a los métodos upload()
o uploadUnencoded()
intenta acceder a los datos mediante HTTP y Adobe AIR puede detectar y devolver el código de estado de la petición.
httpStatus
, el evento httpResponseStatus
se envía antes de cualquier dato de respuesta. Asimismo, el evento httpResponseStatus
incluye valores para las propiedades responseHeaders
y responseURL
(que son undefined en un evento httpStatus
). Tenga en cuenta que se enviará el evento httpResponseStatus
(si existe) antes que (y además de) cualquier evento complete
o error
.
La constante HTTPStatusEvent.HTTP_RESPONSE_STATUS
define el valor de la propiedad type
de un objeto de evento httpResponseStatus
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
responseURL | URL desde la que se devolvió la respuesta. |
responseHeaders | Encabezados de respuesta devueltos por la respuesta como un conjunto de objeto URLRequestHeader. |
status | El código de estado HTTP que devuelve el servidor. |
redirected | Indica si la respuesta es el resultado de una redirección. |
target | El objeto de red que recibe el código de estado HTTP. |
Elementos de API relacionados
httpStatus | Evento |
flash.events.HTTPStatusEvent
propiedad HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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. Para contenido ejecutado en Flash Player, este evento no se aplica a errores de descarga. Si falla una descarga debido a un error HTTP, el error se transmite como error de E/S.
HTTPStatusEvent.HTTP_STATUS
define el valor de la propiedad 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 | 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. |
Elementos de API relacionados
ioError | Evento |
flash.events.IOErrorEvent
propiedad IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Se distribuye cuando falla la carga o la descarga. La transferencia de archivos puede fallar por uno de los siguientes motivos:
- Se produce un error de entrada/salida durante la lectura, escritura o transmisión del archivo.
- El archivo SWF intenta cargar un archivo en un servidor que requiere autenticación, como un nombre de usuario y contraseña. Durante la carga, Flash Player o Adobe AIR no proporcionan un medio para que los usuarios introduzcan contraseñas. Si un archivo SWF intenta cargar un archivo en un servidor que requiere autenticación, se produce un error en la carga.
- El archivo SWF intenta descargar un archivo desde un servidor que requiere autenticación, en el reproductor autónomo o externo. Durante la descarga, los reproductores autónomos y externos no proporcionan un medio para que los usuarios introduzcan contraseñas. Si un archivo SWF de estos reproductores intenta descargar un archivo en un servidor que requiere autenticación, se produce un error en la descarga. La descarga de archivos se realizará correctamente sólo en el control ActiveX, en los reproductores de plug-in del navegador y en el motor de ejecución de Adobe AIR.
- El valor transferido al parámetro
url
en el métodoupload()
contiene un protocolo no válido. Los protocolos válidos son HTTP y HTTPS.
Importante: sólo las aplicaciones que se ejecutan en un navegador, es decir, que emplean el plug-in del navegador o un control ActiveX y cuyo contenido se ejecuta en Adobe AIR, pueden mostrar un cuadro de diálogo para solicitar al usuario que indique un nombre de usuario y 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 la versión del control ActiveX de Flash Player, 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 | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
errorID | Un número de referencia asociado al error concreto (sólo AIR). |
target | El objeto de red en el que se produce el error de entrada/salida. |
text | Texto que se mostrará como mensaje de error. |
Elementos de API relacionados
open | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.OPEN
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Se distribuye cuando se inicia una operación de carga o descarga.
La constanteEvent.OPEN
define el valor de la propiedad type
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 | 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. |
Ejemplo ( Cómo utilizar este ejemplo )
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); } } }
Elementos de API relacionados
permissionStatus | Evento |
flash.events.PermissionEvent
propiedad PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 24.0 |
Se distribuye cuando la aplicación pide permiso para acceder al sistema de archivos. Compruebe el valor del estado
de la propiedad para determinar si el permiso se ha concedido o denegado
Elementos de API relacionados
progress | Evento |
flash.events.ProgressEvent
propiedad ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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 | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto que informa sobre el progreso. |
Ejemplo ( Cómo utilizar este ejemplo )
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); } } }
Elementos de API relacionados
securityError | Evento |
flash.events.SecurityErrorEvent
propiedad SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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 URL.
En Adobe AIR, estas restricciones de seguridad no se aplican al contenido del entorno limitado de seguridad de la aplicación.
En Adobe AIR, estas restricciones de seguridad no se aplican al contenido del entorno limitado de seguridad de la aplicación.
La constanteSecurityErrorEvent.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 | 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. |
Elementos de API relacionados
select | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.SELECT
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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.
Para contenido ejecutado en Flash Player o fuera del entorno limitado de seguridad de la aplicación en el motor de ejecución de Adobe AIR, el comportamiento del evento select
cambia ligeramente en función del método que lo invoque. Cuando se distribuye el evento select
después de una llamada a browse()
, Flash Player o la aplicación de AIR pueden 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 o la aplicación de AIR sólo pueden 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 o la aplicación de AIR pueden leer todas las demás propiedades del objeto FileReference.
Event.SELECT
define el valor de la propiedad 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 | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto en el que se ha seleccionado un elemento. |
Ejemplo ( Cómo utilizar este ejemplo )
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
propiedad DataEvent.type =
flash.events.DataEvent.UPLOAD_COMPLETE_DATA
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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 | 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:DataEvent):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); } } }
Tue Jun 12 2018, 02:12 PM Z