| Pacchetto | flash.net |
| Classe | public class FileReference |
| Ereditarietà | FileReference EventDispatcher Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Le istanze di FileReference vengono create in due modi:
new con la funzione di costruzione FileReference: var myFileReference = new FileReference();FileReferenceList.browse(), che crea un array di oggetti FileReference.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 anche
| Proprietà | Definito da | ||
|---|---|---|---|
![]() | constructor: 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 | ||
![]() | prototype: 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 | ||
| Metodo | Definito da | ||
|---|---|---|---|
|
Crea un nuovo oggetto FileReference.
| FileReference | ||
![]() |
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 | |
|
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 | ||
![]() |
Invia un evento nel flusso di eventi.
| EventDispatcher | |
|
Apre una finestra di dialogo che consente all'utente di scaricare un file da un server remoto.
| FileReference | ||
![]() |
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
| EventDispatcher | |
![]() |
Indica se per un oggetto è definita una proprietà specifica.
| Object | |
![]() |
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
| Object | |
![]() |
Indica se la proprietà specificata esiste ed è enumerabile.
| Object | |
![]() |
Rimuove un listener dall'oggetto EventDispatcher.
| EventDispatcher | |
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
| Object | |
![]() |
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 | ||
![]() |
Restituisce il valore di base dell'oggetto specificato.
| Object | |
![]() |
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
| EventDispatcher | |
| Evento | Riepilogo | Definito da | ||
|---|---|---|---|---|
![]() | 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 | |||
![]() | 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 | |||
| creationDate | proprietà |
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.
public function get creationDate():Date
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
| creator | proprietà |
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.
public function get creator():String
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
| modificationDate | proprietà |
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.
public function get modificationDate():Date
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
| name | proprietà |
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.
public function get name():String
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
| size | proprietà |
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.
public function get size():uint
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
| type | proprietà |
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.
public function get type():String
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.
|
| 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
| 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.
|
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.
|
select: — Inviato quando l'utente seleziona correttamente una voce dalla finestra di selezione dei file Sfoglia. |
|
cancel: — Inviato quando l'utente annulla la finestra Sfoglia per il caricamento dei file. |
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:
allowNetworking dei tag object ed embed nella pagina HTML che include il contenuto SWF.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. |
open: — Inviato quando inizia un'operazione di scaricamento. |
|
progress: — Inviato periodicamente durante l'operazione di scaricamento del file. |
|
complete: — Inviato quando l'operazione di scaricamento dei file viene completata correttamente. |
|
cancel: — Inviato quando l'utente annulla la finestra di dialogo. |
|
select: — Inviato quando l'utente seleziona in un finestra di dialogo un file da scaricare. |
|
securityError: — Inviato quando uno scaricamento non riesce a causa di un errore di sicurezza. |
|
ioError: — Inviato per uno dei motivi seguenti:
|
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
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:
Content-Type di multipart/form-dataContent-Disposition con un attributo name impostato su "Filedata" per impostazione predefinita e un attributo filename impostato sul nome del file originalePer 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:
allowNetworking dei tag object ed embed nella pagina HTML che include il contenuto SWF.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 Per inviare dei parametri |
|
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.
|
open: — inviato quando inizia un'operazione di caricamento. |
|
progress: — inviato periodicamente durante l'operazione di caricamento del file. |
|
complete: — inviato quando l'operazione di caricamento dei file viene completata correttamente. |
|
uploadCompleteData: — Inviato dopo la ricezione di dati dal server a seguito di un caricamento di file riuscito. |
|
securityError: — inviato quando un caricamento non riesce a causa di un violazione della sicurezza. |
|
httpStatus: — inviato quando un caricamento non riesce a causa di un errore HTTP. |
|
ioError: — Richiamato in una delle situazioni seguenti:
|
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
| cancel | Evento |
flash.events.Event
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 |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | Un riferimento all'oggetto sul quale viene annullata l'operazione. |
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 |
flash.events.Event
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 |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che ha completato il caricamento. |
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 |
flash.events.HTTPStatusEvent
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.
type di un oggetto evento httpStatus.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
status | Il codice di stato HTTP restituito dal server. |
target | L'oggetto di rete che riceve un codice di stato HTTP. |
Vedere anche
| ioError | Evento |
flash.events.IOErrorEvent
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:
url nel metodo upload() contiene un protocollo non valido. I protocolli validi sono HTTP e HTTPS.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 |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete interessato dall'errore di input/output. |
text | Testo da visualizzare come messaggio di errore. |
Vedere anche
| open | Evento |
flash.events.Event
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 |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che ha aperto una connessione. |
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 |
flash.events.ProgressEvent
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.
type di un oggetto evento progress.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
bytesLoaded | Il numero di elementi o di byte caricati nel momento in cui il listener elabora l'evento. |
bytesTotal | Il numero totale di elementi o byte che vengono caricati se il processo di caricamento viene completato correttamente. |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che riporta l'avanzamento. |
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 |
flash.events.SecurityErrorEvent
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.
SecurityErrorEvent.SECURITY_ERROR definisce il valore della proprietà type di un oggetto evento securityError.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che riporta l'errore di sicurezza. |
text | Testo da visualizzare come messaggio di errore. |
Vedere anche
| select | Evento |
flash.events.Event
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.
type di un oggetto evento select.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto FileReference su cui è stata selezionata una voce. |
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 |
flash.events.DataEvent
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 |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
data | I dati originari restituiti dal server in risposta all'esito positivo del caricamento. |
target | L'oggetto FileReference che riceve i dati a seguito dell'esito positivo del caricamento. |
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