Pacchettoflash.net
Classepublic class FileReference
EreditarietàFileReference Inheritance EventDispatcher Inheritance Object

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La classe FileReference fornisce un mezzo per caricare e scaricare i file tra il computer di un utente e un server. Una finestra di dialogo del sistema operativo richiede all'utente di selezionare un file da caricare o un percorso per lo scaricamento. Ogni oggetto FileReference fa riferimento a un singolo file sul disco dell'utente e ha delle proprietà che contengono informazioni relative a dimensioni, tipo, nome, data di creazione, data di modifica e tipo di generatore (solo Macintosh) del file.

Le istanze di FileReference vengono create in due modi:

Durante un'operazione di caricamento, tutte le proprietà di un oggetto FileReference vengono compilate dalle chiamate al metodo FileReference.browse() o al metodo FileReferenceList.browse(). Durante un'operazione di scaricamento, la proprietà name viene compilata quando viene inviato l'evento select; tutte le altre proprietà vengono compilate quando viene inviato l'evento complete.

Il metodo browse() apre una finestra di dialogo del sistema operativo che richiede all'utente di selezionare un file da caricare. Il metodo FileReference.browse() consente all'utente di selezionare un solo file, mentre il metodo FileReferenceList.browse() consente di selezionarne più d'uno. Dopo l'esito positivo di una chiamata al metodo browse(), chiamare il metodo FileReference.upload() per caricare un file per volta. Il metodo FileReference.download() richiede all'utente un percorso in cui salvare il file e avvia lo scaricamento da un URL remoto.

Le classi FileReference e FileReferenceList non consentono di impostare un percorso predefinito dei file per la finestra di dialogo generata dal metodo browse() o download(). Il percorso predefinito mostrato nella finestra di dialogo indica l'ultima cartella visitata (se tale percorso può essere determinato) o il desktop. Le classi non consentono di leggere o scrivere sul file trasferito. Non consentono al file SWF che ha iniziato l'operazione di caricamento o scaricamento di accedere al file caricato o scaricato o al percorso del file sul disco dell'utente.

Inoltre, le classi FileReference e FileReferenceList non forniscono metodi di autenticazione. Con i server che richiedono l'autenticazione, è possibile scaricare file con il plug-in Flash® Player per browser, ma il caricamento (su tutti i lettori) e lo scaricamento (sul lettore autonomo o esterno) non riescono. Intercettare gli eventi FileReference per determinare se le operazioni vengono completate correttamente e come gestire gli eventuali errori.

Per le operazioni di caricamento e scaricamento, un file SWF può accedere ai file solo dal suo dominio, compresi gli eventuali domini specificati da un file dei criteri di accesso a più domini. Se il file SWF che avvia il caricamento o lo scaricamento non proviene dallo stesso dominio del file server, al file server è necessario applicare un file dei criteri.

Mentre sono in esecuzione chiamate al metodo FileReference.browse(), FileReferenceList.browse() o FileReference.download(), la riproduzione del file SWF viene messa in pausa sui lettori autonomi ed esterni per Linux e Mac OS X 10.1 e versioni precedenti.

La seguente richiesta POST HTTP di esempio viene inviata da Flash Player a uno script lato server se non vengono specificati parametri:

  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 invia la richiesta POST HTTP seguente se l'utente specifica i parametri "api_sig", "api_key" e "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--
  

Vedere gli esempi

Vedere anche

FileReferenceList
Operazioni di caricamento e scaricamento dei file


Proprietà pubbliche
 ProprietàDefinito da
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  creationDate: Date
[sola lettura] La data di creazione del file sul disco locale.
FileReference
  creator: String
[sola lettura] Il tipo di generatore Macintosh del file.
FileReference
  modificationDate: Date
[sola lettura] La data dell'ultima modifica apportata al file sul disco locale.
FileReference
  name: String
[sola lettura] Il nome del file sul disco locale.
FileReference
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
  size: uint
[sola lettura] Le dimensioni del file sul disco locale, espresse in byte.
FileReference
  type: String
[sola lettura] Il tipo di file.
FileReference
Metodi pubblici
 MetodoDefinito da
  
Crea un nuovo oggetto FileReference.
FileReference
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
EventDispatcher
  
browse(typeFilter:Array = null):Boolean
Visualizza una finestra di dialogo per l'individuazione dei file che consente all'utente di selezionare un file da caricare.
FileReference
  
Annulla l'operazione di caricamento o scaricamento in corso su questo oggetto FileReference.
FileReference
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
  
download(request:URLRequest, defaultFileName:String = null):void
Apre una finestra di dialogo che consente all'utente di scaricare un file da un server remoto.
FileReference
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
  
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Avvia il caricamento di un file selezionato da un utente su un server remoto.
FileReference
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo.EventDispatcher
   Inviato quando un caricamento o uno scaricamento file viene annullato dall'utente mediante la finestra di dialogo di selezione file.FileReference
   Inviato quando lo scaricamento è completato o quando il caricamento genera il codice di stato HTTP 200.FileReference
 Inherited Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo.EventDispatcher
   Inviato quando un caricamento non riesce ed è disponibile un codice di stato HTTP che descrive l'errore.FileReference
   Inviato quando il caricamento o lo scaricamento non riesce.FileReference
   Inviato quando viene avviata l'operazione di caricamento o scaricamento.FileReference
   Inviato periodicamente durante l'operazione di caricamento o scaricamento del file.FileReference
   Inviato quando una chiamata al metodo FileReference.upload() o FileReference.download() tenta di caricare un file su un server o di ottenere un file da un server che si trova al di fuori della funzione di sicurezza sandbox del chiamante.FileReference
   Inviato quando l'utente seleziona un file da caricare o scaricare dalla finestra di dialogo per l'individuazione dei file.FileReference
   Inviato dopo la ricezione di dati dal server a seguito di un caricamento riuscito.FileReference
Descrizione delle proprietà
creationDateproprietà
creationDate:Date  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La data di creazione del file sul disco locale. Se l'oggetto FileReference non è stato compilato, una chiamata per ottenere il valore di questa proprietà restituisce null.


Implementazione
    public function get creationDate():Date

Genera
IllegalOperationError — Se la chiamata al metodo FileReference.browse(), FileReferenceList.browse() o FileReference.download() non è riuscita, viene generata un'eccezione con un messaggio che indica che le funzioni sono state chiamate con una sequenza non valida o che una chiamata precedente non è riuscita. In tal caso, il valore della proprietà creationDate è null.
 
IOError — Se non è possibile accedere alle informazioni sul file, viene generata un'eccezione con un messaggio che indica un errore di I/O del file.

Vedere anche

creatorproprietà 
creator:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il tipo di generatore Macintosh del file. Su Windows, questa proprietà è null. Se l'oggetto FileReference non è stato compilato, una chiamata per ottenere il valore di questa proprietà restituisce null.


Implementazione
    public function get creator():String

Genera
IllegalOperationError — Su Macintosh, se la chiamata al metodo FileReference.browse(), FileReferenceList.browse() o FileReference.download() non è riuscita, viene generata un'eccezione con un messaggio che indica che le funzioni sono state chiamate con una sequenza non valida o che una chiamata precedente non è riuscita. In tal caso, il valore della proprietà creator è null.

Vedere anche

modificationDateproprietà 
modificationDate:Date  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La data dell'ultima modifica apportata al file sul disco locale. Se l'oggetto FileReference non è stato compilato, una chiamata per ottenere il valore di questa proprietà restituisce null.


Implementazione
    public function get modificationDate():Date

Genera
IllegalOperationError — Se la chiamata al metodo FileReference.browse(), FileReferenceList.browse() o FileReference.download() non è riuscita, viene generata un'eccezione con un messaggio che indica che le funzioni sono state chiamate con una sequenza non valida o che una chiamata precedente non è riuscita. In tal caso, il valore della proprietà modificationDate è null.
 
IOError — Se non è possibile accedere alle informazioni sul file, viene generata un'eccezione con un messaggio che indica un errore di I/O del file.

Vedere anche

nameproprietà 
name:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il nome del file sul disco locale. Se l'oggetto FileReference non è stato compilato, una chiamata per ottenere il valore di questa proprietà restituisce null.

Tutte le proprietà di un oggetto FileReference vengono compilate chiamando il metodo browse(). A differenza di altre proprietà FileReference, se si chiama il metodo download(), la proprietà name viene compilata quando viene inviato l'evento select.


Implementazione
    public function get name():String

Genera
IllegalOperationError — Se la chiamata al metodo FileReference.browse(), FileReferenceList.browse() o FileReference.download() non è riuscita, viene generata un'eccezione con un messaggio che indica che le funzioni sono state chiamate con una sequenza non valida o che una chiamata precedente non è riuscita. In tal caso, il valore della proprietà name è null.

Vedere anche

sizeproprietà 
size:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Le dimensioni del file sul disco locale, espresse in byte. Se size è 0, viene generata un'eccezione.


Implementazione
    public function get size():uint

Genera
IllegalOperationError — Se la chiamata al metodo FileReference.browse(), FileReferenceList.browse() o FileReference.download() non è riuscita, viene generata un'eccezione con un messaggio che indica che le funzioni sono state chiamate con una sequenza non valida o che una chiamata precedente non è riuscita. In tal caso, il valore della proprietà size è 0.
 
IOError — Se non è possibile aprire o leggere il file o se si è verificato un errore simile durante l'accesso al file, viene generata un'eccezione con un messaggio che indica un errore di I/O del file. In tal caso, il valore della proprietà size è 0.

Vedere anche

typeproprietà 
type:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il tipo di file. In Windows, questa proprietà è l'estensione del file. In Macintosh, questa proprietà è il tipo di file di quattro caratteri. Se l'oggetto FileReference non è stato compilato, una chiamata per ottenere il valore di questa proprietà restituisce null.


Implementazione
    public function get type():String

Genera
IllegalOperationError — Se la chiamata al metodo FileReference.browse(), FileReferenceList.browse() o FileReference.download() non è riuscita, viene generata un'eccezione con un messaggio che indica che le funzioni sono state chiamate con una sequenza non valida o che una chiamata precedente non è riuscita. In tal caso, il valore della proprietà type è null.
Descrizione della funzione di costruzione
FileReference()Funzione di costruzione
public function FileReference()

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea un nuovo oggetto FileReference. Quando è compilato, l'oggetto FileReference rappresenta un file nel disco locale dell'utente.

Vedere anche

Descrizione dei metodi
browse()metodo
public function browse(typeFilter:Array = null):Boolean

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Visualizza una finestra di dialogo per l'individuazione dei file che consente all'utente di selezionare un file da caricare. La finestra di dialogo è nativa del sistema operativo dell'utente. L'utente può selezionare un file sul computer locale o da altri sistemi, ad esempio mediante un percorso UNC in Windows.

Quando si chiama questo metodo e l'utente seleziona correttamente il file, le proprietà di questo oggetto FileReference vengono compilate con le proprietà di tale file. A ogni chiamata successiva del metodo FileReference.browse(), le proprietà dell'oggetto FileReference vengono ripristinate in base al file selezionato dall'utente nella finestra di dialogo. È possibile eseguire una sola sessione browse() o download() alla volta (poiché è possibile richiamare una sola finestra di dialogo per volta).

Il parametro typeFilter consente di determinare quali file vengono visualizzati nella finestra di dialogo.

Parametri

typeFilter:Array (default = null) — Un array di istanze di FileFilter utilizzate per filtrare i file visualizzati nella finestra di dialogo. Se si omette questo parametro, vengono visualizzati tutti i file. Per ulteriori informazioni, vedere la classe FileFilter.

Restituisce
Boolean — Restituisce true se i parametri sono validi e viene visualizzata la finestra di dialogo per l'individuazione dei file. Il metodo browse restituisce false se la finestra di dialogo non viene aperta, se un'altra sessione di browse è già in corso o se si utilizza il parametro typelist ma non si fornisce una stringa di descrizione o di estensione in un elemento qualsiasi dell'array.

Eventi
select:Event — Inviato quando l'utente seleziona correttamente una voce dalla finestra di selezione dei file Sfoglia.
 
cancel:Event — Inviato quando l'utente annulla la finestra Sfoglia per il caricamento dei file.

Genera
IllegalOperationError — Generato nelle situazioni seguenti: 1) Un'altra sessione FileReference o FileReferenceList è in corso; è possibile eseguire una sola sessione di individuazione dei file per volta. 2) Un'impostazione nel file mms.cfg dell'utente proibisce questa operazione.
 
ArgumentError — Se l'array typeFilter contiene degli oggetti FileFilter formattati in modo non corretto, viene generata un'eccezione. Per informazioni sul formato corretto degli oggetti FileFilter, vedere la classe FileFilter.

Vedere anche

cancel()metodo 
public function cancel():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Annulla l'operazione di caricamento o scaricamento in corso su questo oggetto FileReference. La chiamata a questo metodo non invia l'evento cancel; l'evento viene inviato solo quando l'utente annulla l'operazione annullando la finestra di dialogo di caricamento o scaricamento dei file.

download()metodo 
public function download(request:URLRequest, defaultFileName:String = null):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Apre una finestra di dialogo che consente all'utente di scaricare un file da un server remoto. Benché Flash Player non preveda limitazioni alle dimensioni dei file che è possibile caricare o scaricare, ufficialmente il lettore supporta caricamenti e scaricamenti con una dimensione massima di 100 MB.

Il metodo download() apre una finestra di dialogo del sistema operativo che richiede all'utente di immettere un nome di file e selezionare un percorso sul disco locale in cui salvare il file. Quando l'utente seleziona un percorso e conferma l'operazione di scaricamento (ad esempio, facendo clic su Salva), ha inizio lo scaricamento dal server remoto. I listener ricevono gli eventi che indicano l'avanzamento, il completamento o l'interruzione dello scaricamento. Per determinare lo stato della finestra di dialogo e l'operazione di scaricamento dopo la chiamata a download(), il codice ActionScript utilizzato deve ricevere eventi come cancel, open, progress e complete.

Le funzioni FileReference.upload() e FileReference.download() non sono bloccanti. Queste funzioni restituiscono un valore dopo che vengono chiamate, prima che venga completata la trasmissione del file. Inoltre, se l'oggetto FileReference esce dall'area di validità, qualunque caricamento o scaricamento che non è ancora stato completato per l'oggetto viene annullato quando l'area di validità viene abbandonata. Assicurarsi che l'oggetto FileReference rimanga all'interno dell'area di validità per la durata prevista dell'operazione di caricamento o scaricamento.

Una volta scaricato correttamente il file, le proprietà dell'oggetto FileReference vengono compilate con le proprietà del file locale. L'evento complete viene inviato se lo scaricamento è stato completato correttamente.

È possibile eseguire una sola sessione browse() o download() alla volta (poiché è possibile richiamare una sola finestra di dialogo per volta).

Questo metodo supporta lo scaricamento di qualunque tipo di file, mediante il protocollo HTTP o HTTPS.

Nota: sui server che richiedono l'autenticazione dell'utente, solo i file SWF in esecuzione in un browser (ovvero quelli che utilizzano il plug-in per il browser o il controllo ActiveX) possono fornire una finestra di dialogo per richiedere all'utente di immettere un nome utente e una password per l'autenticazione, e solo per gli scaricamenti. Per i caricamenti mediante il plug-in o il controllo ActiveX o per i caricamenti e gli scaricamenti mediante il lettore autonomo o esterno, il trasferimento dei file non è possibile.

Quando si utilizza questo metodo, considerare il modello di sicurezza di Flash Player:

Per ulteriori informazioni, vedere i seguenti riferimenti:

Parametri

request:URLRequest — L'oggetto URLRequest. La proprietà url dell'oggetto URLRequest deve contenere l'URL del file da scaricare sul computer locale. Se questo parametro è null, viene generata un'eccezione. Per inviare dei parametri POST o GET al server, impostare il valore di URLRequest.data sui parametri e impostare URLRequest.method su URLRequestMethod.POST o URLRequestMethod.GET.

In alcuni browser, le stringhe degli URL sono limitate in lunghezza. Le lunghezze superiori a 256 caratteri possono generare degli errori su alcuni browser o server.

 
defaultFileName:String (default = null) — Il nome di file predefinito visualizzato nella finestra di dialogo per il file che deve essere scaricato. Questa stringa non può contenere i caratteri seguenti: / \ : * ? " < > | %

Se si omette questo parametro, il nome di file dell'URL remoto viene analizzato e utilizzato come predefinito.


Eventi
open:Event — Inviato quando inizia un'operazione di scaricamento.
 
progress:ProgressEvent — Inviato periodicamente durante l'operazione di scaricamento del file.
 
complete:Event — Inviato quando l'operazione di scaricamento dei file viene completata correttamente.
 
cancel:Event — Inviato quando l'utente annulla la finestra di dialogo.
 
select:Event — Inviato quando l'utente seleziona in un finestra di dialogo un file da scaricare.
 
securityError:SecurityErrorEvent — Inviato quando uno scaricamento non riesce a causa di un errore di sicurezza.
 
ioError:IOErrorEvent — Inviato per uno dei motivi seguenti:
  • Si verifica un errore di input/output durante la lettura o la trasmissione del file.
  • Il file SWF tenta di scaricare un file da un server che richiede l'autenticazione, all'interno del lettore autonomo o esterno. Durante lo scaricamento, i lettori autonomi ed esterni non forniscono un modo per immettere le password. Se un file SWF in questi lettori tenta di scaricare un file da un server che richiede l'autenticazione, lo scaricamento non riesce. Lo scaricamento può essere completato solo nei lettori con controllo ActiveX e installati come plug-in del browser.

Genera
IllegalOperationError — Generato nelle situazioni seguenti: 1) Un'altra sessione browse è in corso; è possibile eseguire una sola sessione di individuazione dei file per volta. 2) Il valore passato a request non contiene un percorso o un protocollo valido. 3) Il nome di file da scaricare contiene dei caratteri non consentiti. 4) Un'impostazione nel file mms.cfg dell'utente proibisce questa operazione.
 
SecurityError — I file SWF non attendibili locali potrebbero non essere in grado di comunicare con Internet. Questo problema può essere risolto riclassificando il file SWF come file locale con utilizzo in rete o come attendibile. Questa eccezione viene generata con un messaggio che indica il nome di file e l'URL a cui non è possibile accedere a causa di limitazioni di sicurezza dei file locali.
 
ArgumentError — Se url.data è di tipo ByteArray, viene generata un'eccezione. Per l'utilizzo con i metodi FileReference.upload() e FileReference.download(), url.data può essere solo di tipo URLVariables o String.
 
MemoryError — Questo errore può verificarsi per i seguenti motivi: 1) Flash Player non è in grado di convertire il parametro URLRequest.data da UTF8 a MBCS. Questo errore è applicabile se l'oggetto URLRequest passato al metodo FileReference.download() è impostato per eseguire un'operazione GET e se System.useCodePage è impostato su true. 2) Flash Player non è in grado di allocare memoria per i dati POST. Questo errore è applicabile se l'oggetto URLRequest passato al metodo FileReference.download() è impostato per eseguire un'operazione POST.

Vedere anche


Esempio

Nell'esempio seguente viene illustrato come utilizzare l'oggetto evento download. Per provare l'esempio, modificare la proprietà downloadURL.url in modo che punti a un dominio e a un file reali, anziché al file fittizio http://www.[yourDomain].com/SomeFile.pdf. È possibile che sia anche necessario compilare il file SWF con l'opzione Sicurezza riproduzione locale impostata su Accedi solo alla rete o aggiornare le impostazioni di sicurezza di Flash Player per consentire al file di accedere alla rete.

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()metodo 
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Avvia il caricamento di un file selezionato da un utente su un server remoto. Benché Flash Player non preveda limitazioni alle dimensioni dei file che è possibile caricare o scaricare, ufficialmente il lettore supporta caricamenti e scaricamenti con una dimensione massima di 100 MB. È necessario chiamare il metodo FileReference.browse() o FileReferenceList.browse() prima di chiamare questo metodo.

I listener ricevono gli eventi che indicano l'avanzamento, il completamento o l'interruzione dello scaricamento. Anche se è possibile utilizzare l'oggetto FileReferenceList per consentire agli utenti di selezionare più file per il caricamento, è necessario caricarli uno alla volta; a tale scopo, eseguire un'iterazione sull'array FileReferenceList.fileList di oggetti FileReference.

Le funzioni FileReference.upload() e FileReference.download() non sono bloccanti. Queste funzioni restituiscono un valore dopo che vengono chiamate, prima che venga completata la trasmissione del file. Inoltre, se l'oggetto FileReference esce dall'area di validità, qualunque caricamento o scaricamento che non è ancora stato completato per l'oggetto viene annullato quando l'area di validità viene abbandonata. Assicurarsi che l'oggetto FileReference rimanga all'interno dell'area di validità per la durata prevista dell'operazione di caricamento o scaricamento.

Il file viene caricato nell'URL passato nel parametro url. L'URL deve essere uno script server configurato per accettare i caricamenti. Flash Player carica i file utilizzando il metodo POST HTTP. Lo script server che gestisce il caricamento deve prevedere una richiesta POST con gli elementi seguenti:

Per un esempio di richieste POST, vedere la descrizione del parametro uploadDataFieldName. È possibile inviare parametri POST o GET al server con il metodo upload(); vedere la descrizione del parametro request.

Se il parametro testUpload è true e il file da caricare ha una dimensione superiore a circa 10 KB, Flash Player su Windows invia un'operazione POST di caricamento di prova priva di contenuto prima di caricare il file vero e proprio per verificare la probabilità di riuscita della trasmissione. Quindi, Flash Player invia una seconda operazione POST che contiene il contenuto effettivo del file. Per i file con dimensioni inferiori a 10 KB, Flash Player esegue una sola operazione POST di caricamento con il contenuto effettivo da caricare. Flash Player su Macintosh non esegue operazioni POST di caricamento di prova.

Nota: sui server che richiedono l'autenticazione dell'utente, solo i file SWF in esecuzione in un browser (ovvero quelli che utilizzano il plug-in per il browser o il controllo ActiveX) possono fornire una finestra di dialogo per richiedere all'utente di immettere un nome utente e una password per l'autenticazione, e solo per gli scaricamenti. Per i caricamenti mediante il plug-in o il controllo ActiveX o per i caricamenti e gli scaricamenti mediante il lettore autonomo o esterno, il trasferimento dei file non è possibile.

Quando si utilizza questo metodo, considerare le seguenti limitazioni al modello di sicurezza di Flash Player:

Per ulteriori informazioni, vedere i seguenti riferimenti:

Parametri

request:URLRequest — L'oggetto URLRequest; la proprietà url dell'oggetto URLRequest deve contenere l'URL dello script server configurato per gestire il caricamento tramite le chiamate POST. In alcuni browser, le stringhe degli URL sono limitate in lunghezza. Le lunghezze superiori a 256 caratteri possono generare degli errori su alcuni browser o server. Se questo parametro è null, viene generata un'eccezione.

L'URL può essere di tipo HTTP o HTTPS (per i caricamenti protetti). Per utilizzare HTTPS, specificare un URL HTTPS nel parametro url. Se non si specifica un numero di porta nel parametro url, per impostazione predefinita Flash Player utilizza la porta 80 per HTTP e la porta 443 per HTTPS.

Per inviare dei parametri POST o GET al server, impostare la proprietà data dell'oggetto URLRequest sui parametri e impostare la proprietà method su URLRequestMethod.POST o su URLRequestMethod.GET.

 
uploadDataFieldName:String (default = "Filedata") — Il nome di campo che precede i dati del file nell'operazione POST di caricamento. Il valore uploadDataFieldName deve essere diverso da zero e costituito da una stringa non vuota. Per impostazione predefinita, il valore di uploadDataFieldName è "Filedata", come illustrato nell'esempio di richiesta POST seguente:
 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'impostazione per richiedere un caricamento di file di prova. Se testUpload è true, per i file di dimensioni superiori a 10 KB, Flash Player tenta un'operazione POST di caricamento di prova con un valore 0 per Content-Length. Il caricamento di prova verifica se il caricamento del file vero e proprio darà esito positivo, così come l'autenticazione sul server (se richiesta). Il caricamento di prova è disponibile solo per i lettori Windows.


Eventi
open:Event — inviato quando inizia un'operazione di caricamento.
 
progress:ProgressEvent — inviato periodicamente durante l'operazione di caricamento del file.
 
complete:Event — inviato quando l'operazione di caricamento dei file viene completata correttamente.
 
uploadCompleteData:Event — Inviato dopo la ricezione di dati dal server a seguito di un caricamento di file riuscito.
 
securityError:SecurityErrorEvent — inviato quando un caricamento non riesce a causa di un violazione della sicurezza.
 
httpStatus:HTTPStatusEvent — inviato quando un caricamento non riesce a causa di un errore HTTP.
 
ioError:IOErrorEvent — Richiamato in una delle situazioni seguenti:
  • Il caricamento non riesce a causa di un errore di input/output durante la lettura, la scrittura o la trasmissione del file da parte di Flash Player.
  • Il caricamento non riesce perché il file SWF tenta di caricare un file su un server che richiede l'autenticazione (ad esempio, un nome utente e una password). Durante il caricamento, Flash Player non fornisce all'utente un modo per immettere una password.
  • Il caricamento non riesce perché il parametro url contiene un protocollo non valido. FileReference.upload() deve utilizzare HTTP o HTTPS.

Genera
SecurityError — I file SWF non attendibili locali potrebbero non essere in grado di comunicare con Internet. Questo problema può essere risolto riclassificando il file SWF come file locale con utilizzo in rete o come attendibile. Questa eccezione viene generata con un messaggio che indica il nome del file locale e l'URL a cui non è possibile accedere.
 
IllegalOperationError — Generato nelle situazioni seguenti: 1) Un'altra sessione FileReference o FileReferenceList è in corso; è possibile eseguire una sola sessione di individuazione dei file per volta. 2) Il parametro URL non è un percorso o un protocollo valido. Il caricamento dei file deve utilizzare HTTP, mentre lo scaricamento deve utilizzare FTP o HTTP. 3) Il parametro uploadDataFieldName è impostato su null. 4) Un'impostazione nel file mms.cfg dell'utente proibisce questa operazione.
 
ArgumentError — Generato nelle situazioni seguenti: 1) Il parametro uploadDataFieldName è una stringa vuota. 2) url.data è di tipo ByteArray. Per l'utilizzo con i metodi FileReference.upload() e FileReference.download(), url.data può essere solo di tipo URLVariables o String.
 
MemoryError — Questo errore può verificarsi per i seguenti motivi: 1) Flash Player non è in grado di convertire il parametro URLRequest.data da UTF8 a MBCS. Questo errore è applicabile se l'oggetto URLRequest passato a FileReference.upload() è impostato per eseguire un'operazione GET e se System.useCodePage è impostato su true. 2) Flash Player non è in grado di allocare memoria per i dati POST. Questo errore è applicabile se l'oggetto URLRequest passato a FileReference.upload() è impostato per eseguire un'operazione POST.

Vedere anche

Descrizione degli eventi
cancel Evento
Tipo di oggetto evento: flash.events.Event
Event.type property = flash.events.Event.CANCEL

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando un caricamento o uno scaricamento file viene annullato dall'utente mediante la finestra di dialogo di selezione file. Flash Player non invia questo evento se l'utente annulla un caricamento o uno scaricamento in altro modo (chiudendo il browser o interrompendo l'applicazione corrente).

Definisce il valore della proprietà type di un oggetto evento cancel.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetUn riferimento all'oggetto sul quale viene annullata l'operazione.

Esempio

Nell'esempio seguente viene illustrato come utilizzare l'oggetto evento cancel. Per provare l'esempio, modificare la proprietà downloadURL.url in modo che punti a un dominio e a un file reali, anziché al file fittizio http://www.[yourDomain].com/SomeFile.pdf. È possibile che sia anche necessario compilare il file SWF con l'opzione Sicurezza riproduzione locale impostata su Accedi solo alla rete o aggiornare le impostazioni di sicurezza di Flash Player per consentire al file di accedere alla rete.

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  
Tipo di oggetto evento: flash.events.Event
Event.type property = flash.events.Event.COMPLETE

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando lo scaricamento è completato o quando il caricamento genera il codice di stato HTTP 200. Per lo scaricamento dei file, questo evento viene inviato quando Flash Player termina lo scaricamento sul disco dell'intero file. Per il caricamento dei file, questo evento viene inviato dopo che Flash Player ha ricevuto il codice di stato HTTP 200 dal server che riceve la trasmissione.

Definisce il valore della proprietà type di un oggetto evento complete.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto di rete che ha completato il caricamento.

Esempio

Nell'esempio seguente viene illustrato come utilizzare l'oggetto evento complete. Per provare l'esempio, modificare la proprietà downloadURL.url in modo che punti a un dominio e a un file reali, anziché al file fittizio http://www.[yourDomain].com/SomeFile.pdf. È possibile che sia anche necessario compilare il file SWF con l'opzione Sicurezza riproduzione locale impostata su Accedi solo alla rete o aggiornare le impostazioni di sicurezza di Flash Player per consentire al file di accedere alla rete.

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);
        }
    }
}

Vedere anche

httpStatus Evento  
Tipo di oggetto evento: flash.events.HTTPStatusEvent
HTTPStatusEvent.type property = flash.events.HTTPStatusEvent.HTTP_STATUS

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando un caricamento non riesce ed è disponibile un codice di stato HTTP che descrive l'errore. Viene inviato l'evento httpStatus, seguito da un evento ioError.

L'evento httpStatus viene inviato solo per i mancati caricamenti. In virtù del modo in cui Flash Player si serve dello stack del browser durante lo scaricamento, questo errore non è applicabile nel caso degli errori di scaricamento. Se uno scaricamento non riesce a causa di un errore HTTP, l'errore viene segnalato come errore di I/O.

Definisce il valore della proprietà type di un oggetto evento httpStatus.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
statusIl codice di stato HTTP restituito dal server.
targetL'oggetto di rete che riceve un codice di stato HTTP.

Vedere anche

ioError Evento  
Tipo di oggetto evento: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando il caricamento o lo scaricamento non riesce. Un trasferimento di file può dare esito negativo per uno dei motivi seguenti:

Importante: solo le applicazioni Flash in esecuzione in un browser (ovvero quelle che usano il plug-in per il browser o il controllo ActiveX) possono fornire una finestra di dialogo per richiedere all'utente di immettere un nome utente e una password per l'autenticazione, e solo per gli scaricamenti. Per i caricamenti mediante il plug-in o il controllo ActiveX o per i caricamenti e gli scaricamenti mediante il lettore autonomo o esterno, il trasferimento dei file non è possibile.

Definisce il valore della proprietà type di un oggetto evento ioError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto di rete interessato dall'errore di input/output.
textTesto da visualizzare come messaggio di errore.

Vedere anche

open Evento  
Tipo di oggetto evento: flash.events.Event
Event.type property = flash.events.Event.OPEN

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando viene avviata l'operazione di caricamento o scaricamento.

Definisce il valore della proprietà type di un oggetto evento open.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto di rete che ha aperto una connessione.

Esempio

Nell'esempio seguente viene illustrato come utilizzare l'oggetto evento download. Per provare l'esempio, modificare la proprietà downloadURL.url in modo che punti a un dominio e a un file reali, anziché al file fittizio http://www.[yourDomain].com/SomeFile.pdf. È possibile che sia anche necessario compilare il file SWF con l'opzione Sicurezza riproduzione locale impostata su Accedi solo alla rete o aggiornare le impostazioni di sicurezza di Flash Player per consentire al file di accedere alla rete.

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);
        }
    }
}

Vedere anche

progress Evento  
Tipo di oggetto evento: flash.events.ProgressEvent
ProgressEvent.type property = flash.events.ProgressEvent.PROGRESS

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato periodicamente durante l'operazione di caricamento o scaricamento del file. L'evento progress viene inviato mentre Flash Player trasmette dei byte a un server e viene inviato periodicamente durante la trasmissione, anche se quest'ultima alla fine non riesce. Per determinare se e quando la trasmissione del file viene effettuata e completata correttamente, intercettare l'evento complete.

In determinati casi, gli eventi progress non vengono ricevuti. Ad esempio, quando un file trasmesso ha dimensioni molto ridotte o il processo di caricamento o scaricamento si verifica molto rapidamente, è possibile che un evento progress non venga inviato.

L'avanzamento del caricamento di un file non può essere determinato sulle piattaforme Macintosh precedenti a OS X 10.3. L'evento progress viene chiamato durante l'operazione di caricamento, ma il valore della proprietà bytesLoaded dell'evento progress è -1, che indica che l'avanzamento non può essere determinato.

Definisce il valore della proprietà type di un oggetto evento progress.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
bytesLoadedIl numero di elementi o di byte caricati nel momento in cui il listener elabora l'evento.
bytesTotalIl numero totale di elementi o byte che vengono caricati se il processo di caricamento viene completato correttamente.
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto di rete che riporta l'avanzamento.

Esempio

Nell'esempio seguente viene illustrato come utilizzare l'oggetto evento progress. Per provare l'esempio, modificare la proprietà downloadURL.url in modo che punti a un dominio e a un file reali, anziché al file fittizio http://www.[yourDomain].com/SomeFile.pdf. È possibile che sia anche necessario compilare il file SWF con l'opzione Sicurezza riproduzione locale impostata su Accedi solo alla rete o aggiornare le impostazioni di sicurezza di Flash Player per consentire al file di accedere alla rete.

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);
        }
    }
}

Vedere anche

securityError Evento  
Tipo di oggetto evento: flash.events.SecurityErrorEvent
SecurityErrorEvent.type property = flash.events.SecurityErrorEvent.SECURITY_ERROR

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando una chiamata al metodo FileReference.upload() o FileReference.download() tenta di caricare un file su un server o di ottenere un file da un server che si trova al di fuori della funzione di sicurezza sandbox del chiamante. Il valore della proprietà text che descrive lo specifico errore che si è verificato è solitamente "securitySandboxError". È possibile che il file SWF chiamante abbia tentato di accedere a un file SWF fuori del proprio dominio e che non disponga delle autorizzazioni per tale accesso. È possibile tentare di risolvere questo errore utilizzando un file dei criteri validi su più domini.

La costante SecurityErrorEvent.SECURITY_ERROR definisce il valore della proprietà type di un oggetto evento securityError.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto di rete che riporta l'errore di sicurezza.
textTesto da visualizzare come messaggio di errore.

Vedere anche

select Evento  
Tipo di oggetto evento: flash.events.Event
Event.type property = flash.events.Event.SELECT

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando l'utente seleziona un file da caricare o scaricare dalla finestra di dialogo per l'individuazione dei file. (Questa finestra di dialogo viene visualizzata quando si chiama il metodo FileReference.browse(), FileReferenceList.browse() o FileReference.download()). Quando l'utente seleziona un file e conferma l'operazione (ad esempio, facendo clic su OK), le proprietà dell'oggetto FileReference vengono compilate.

Il comportamento dell'evento select cambia leggermente a seconda del metodo che lo richiama. Quando l'evento select viene inviato dopo una chiamata a browse(), Flash Player è in grado di leggere tutte le proprietà dell'oggetto FileReference, poiché il file selezionato dall'utente si trova nel file system locale. Quando l'evento select si verifica dopo una chiamata a download(), Flash Player è in grado di leggere solo la proprietà name, poiché al momento dell'invio dell'evento select il file non è stato ancora scaricato nel file system locale. Dopo che il file è stato scaricato e l'evento complete inviato, Flash Player può leggere tutte le altre proprietà dell'oggetto FileReference.

Definisce il valore della proprietà type di un oggetto evento select.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto FileReference su cui è stata selezionata una voce.

Esempio

Nell'esempio seguente viene illustrato come utilizzare l'oggetto evento select. Per provare l'esempio, modificare la proprietà uploadURL.url in modo che punti a un dominio e a un file reali, anziché al file fittizio http://www.[yourDomain].com/SomeFile.pdf. È possibile che sia anche necessario compilare il file SWF con l'opzione Sicurezza riproduzione locale impostata su Accedi solo alla rete o aggiornare le impostazioni di sicurezza di Flash Player per consentire al file di accedere alla rete. Per provare questo esempio dal desktop, il server richiede anche che sia inviato un file crossdomain.xml. Se viene attivata la funzione ioErrorHandler(), probabilmente è necessario aggiornare l'uploadURL fornito con un url valido configurato per ricevere caricamenti.
 
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  
Tipo di oggetto evento: flash.events.DataEvent
DataEvent.type property = flash.events.DataEvent.UPLOAD_COMPLETE_DATA

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9.0.28.0

Inviato dopo la ricezione di dati dal server a seguito di un caricamento riuscito. Questo evento non viene inviato se i dati non vengono restituiti dal server.

Definisce il valore della proprietà type di un oggetto evento uploadCompleteData.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
dataI dati originari restituiti dal server in risposta all'esito positivo del caricamento.
targetL'oggetto FileReference che riceve i dati a seguito dell'esito positivo del caricamento.
Esempi Come utilizzare gli esempi
FileReferenceExample.as

Nell'esempio seguente vengono visualizzati il formato dati e le informazioni sullo stato di un file caricato in fase di runtime.

Nota: per provare questo esempio, modificare la proprietà uploadURL.url in modo che punti a un URL reale, anziché a quello fittizio specificato nell'esempio. L'URL deve puntare a un file di nome yourUploadHandlerScript.cfm nella directory Web principale dell'URL specificato. In base alla propria configurazione, è possibile che sia anche necessario compilare il file SWF con l'opzione Sicurezza riproduzione locale impostata su Accedi solo alla rete o aggiornare le impostazioni di sicurezza di Flash Player per consentire al file l'accesso alla rete.

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);
        }
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/net/FileReference.html