Pacchetto | flash.net |
Classe | public class FileReference |
Ereditarietà | FileReference EventDispatcher Object |
Sottoclassi | File |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Nota: in Adobe AIR, la classe File che estende la classe FileReference fornisce maggiori funzionalità e presenta meno restrizioni di sicurezza della classe FileReference.
Le istanze di FileReference vengono create nei modi seguenti:
- quando si utilizza l'operatore
new
con la funzione di costruzione FileReference:var myFileReference = new FileReference();
- quando si chiama il metodo
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. Intercettate gli eventi FileReference per determinare se le operazioni vengono completate correttamente e come gestire gli eventuali errori.
Per il contenuto in esecuzione in Flash Player o per il contenuto in esecuzione in Adobe AIR al di fuori della funzione di sicurezza sandbox dell'applicazione, le operazioni di caricamento e scaricamento possono accedere ai file solo all'interno del proprio dominio e di qualunque dominio specificato da un file di criteri per gli URL. Se il contenuto che avvia il caricamento o lo scaricamento non proviene dallo stesso dominio del file server, al file server è necessario applicare un file dei criteri.
A causa delle nuove funzioni aggiunte a Flash Player, quando si pubblica su Flash Player 10, solo una alla volta delle seguenti operazioni può essere attiva: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Altrimenti, Flash Player genera un errore di runtime (codice 2174). Utilizzate FileReference.cancel()
per interrompere un'operazione in corso. Questa limitazione è valida solo per Flash Player 10. Le versioni precedenti di Flash Player non risentono di questa limitazione su operazioni multiple simultanee.
Mentre sono in esecuzione delle chiamate al metodo FileReference.browse()
, FileReferenceList.browse()
o FileReference.download()
, la riproduzione del file SWF viene messa in pausa nelle versioni autonoma ed esterna di Flash Player e in AIR 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=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Flash Player invia la richiesta HTTP POST
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=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_sig" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_key" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="auth_token" XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Altre informazioni
Elementi API correlati
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 creatore Macintosh del file, che viene utilizzato solo nelle versioni di Mac OS precedenti a Mac OS X. | FileReference | ||
data : ByteArray [sola lettura]
L'oggetto ByteArray che rappresenta i dati provenienti dal file caricato dopo una chiamata riuscita al metodo load(). | FileReference | ||
extension : String [sola lettura]
L'estensione del nome 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 | ||
permissionStatus : String [statico] [sola lettura]
Consente di determinare se l’applicazione ha ottenuto l’autorizzazione di accesso al file system. | FileReference | ||
size : Number [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 | ||
Avvia il caricamento di un file locale selezionato da un utente. | FileReference | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Richiede l’autorizzazione di accesso al file system. | FileReference | ||
Apre una finestra di dialogo che consente all'utente di salvare un file da un file system locale. | FileReference | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Avvia il caricamento del file su un server remoto. | FileReference | ||
Avviate il caricamento di un file in un URL senza alcuna codifica. | 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 | ||
---|---|---|---|---|
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato 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 | |||
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo. | EventDispatcher | |||
Inviato se una chiamata al metodo upload() o uploadUnencoded() tenta di accedere ai dati via HTTP e Adobe AIR è in grado di rilevare e restituire il codice di stato della richiesta. | FileReference | |||
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 quando l’applicazione richiede l’autorizzazione di accesso al file system. | 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 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
La data di creazione del file sul disco locale. Se l'oggetto non è stato compilato, una chiamata per ottenere il valore di questa proprietà restituisce null
.
Nota: nei casi in cui un sistema operativo non presenta creationDate
come proprietà, CreationDate
è uguale a lastModifiedDate
.
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.
|
Elementi API correlati
creator | proprietà |
creator:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il tipo di creatore Macintosh del file, che viene utilizzato solo nelle versioni di Mac OS precedenti a Mac OS X. In Windows o Linux, 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 .
|
Altre informazioni
Elementi API correlati
data | proprietà |
data:ByteArray
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
L'oggetto ByteArray che rappresenta i dati provenienti dal file caricato dopo una chiamata riuscita al metodo load()
.
Implementazione
public function get data():ByteArray
Genera
IllegalOperationError — Se la chiamata al metodo load() 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à data è null .
| |
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à data è null .
|
Altre informazioni
Elementi API correlati
extension | proprietà |
extension:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
L'estensione del nome file.
L'estensione di un file è la parte del nome che segue (senza includerlo) il punto finale ("."). Se il nome file non comprende un punto, l'estensione è null
.
Nota: utilizzate la proprietà extension
per determinare il tipo di un file; non utilizzate le proprietà creator
o type
. Le proprietà creator
e type
vanno considerate obsolete. Valgono per le versioni precedenti di Mac OS.
Implementazione
public function get extension():String
Genera
IllegalOperationError — Se il riferimento non è stato inizializzato.
|
modificationDate | proprietà |
modificationDate:Date
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, 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.
|
Elementi API correlati
name | proprietà |
name:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il nome del file sul disco locale. Se l'oggetto FileReference non è stato compilato (da una chiamata valida a FileReference.download()
o FileReference.browse()
), Flash Player genera un errore quando tentate di ottenere il valore di questa proprietà.
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.
|
Elementi API correlati
permissionStatus | proprietà |
size | proprietà |
size:Number
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Le dimensioni del file sul disco locale, espresse in byte.
Nota: nella versione iniziale di ActionScript 3.0, la proprietà size
era definita come oggetto uint, che supportava i file con dimensioni fino a circa 4 GB. Ora viene implementata come oggetto Number per supportare i file di dimensioni superiori.
Implementazione
public function get size():Number
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.
| |
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.
|
Elementi API correlati
type | proprietà |
type:String
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Il tipo di file.
In Windows o Linux, questa proprietà è l'estensione del file. In Macintosh, questa proprietà è il tipo di file a quattro caratteri che viene utilizzato solo nelle versioni di Mac OS precedenti a Mac OS X. Se l'oggetto FileReference non è stato compilato, una chiamata per ottenere il valore di questa proprietà restituisce null
.
Per Windows, Linux e Mac OS X, l'estensione di file, cioè la porzione della proprietà name
che segue l'ultima occorrenza del punto (.), identifica il tipo di file.
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 .
|
Elementi API correlati
FileReference | () | Funzione di costruzione |
public function FileReference()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Crea un nuovo oggetto FileReference. Quando è compilato, l'oggetto FileReference rappresenta un file nel disco locale dell'utente.
Elementi API correlati
browse | () | metodo |
public function browse(typeFilter:Array = null):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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.
Nota: la classe File, disponibile in Adobe AIR, include dei metodi per accedere a finestre di dialogo più specifiche per la selezione di file di sistema. Questi metodi sono File.browseForDirectory()
, File.browseForOpen()
, File.browseForOpenMultiple()
e File.browseForSave()
.
Quando chiamate 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.
In Flash Player 10 e in Flash Player 9 Aggiornamento 5, potete chiamare questo metodo solo in seguito a un evento utente (ad esempio, in un gestore di eventi per un clic del mouse o la pressione di un tasto). Altrimenti, quando chiamate questo metodo viene generata un'eccezione Error.
A causa delle nuove funzioni aggiunte a Flash Player, quando si pubblica su Flash Player 10, solo una alla volta delle seguenti operazioni può essere attiva: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Altrimenti, Flash Player genera un errore di runtime (codice 2174). Utilizzate FileReference.cancel()
per interrompere un'operazione in corso. Questa limitazione è valida solo per Flash Player 10. Le versioni precedenti di Flash Player non risentono di questa limitazione su operazioni multiple simultanee.
In Adobe AIR, la finestra di dialogo per la ricerca di file non viene sempre visualizzata in primo piano rispetto alle finestre appartenenti a un'altra finestra (le finestre con una proprietà owner
non null). Per evitare problemi di ordinamento delle finestre, nascondere quelle appartenenti a un'altra finestra prima di chiamare questo metodo.
Parametri
typeFilter:Array (default = null ) — Un array di istanze di FileFilter utilizzate per filtrare i file visualizzati nella finestra di dialogo. Se omettete questo parametro, vengono visualizzati tutti i file. Per ulteriori informazioni, vedete la classe FileFilter.
|
Boolean — Restituisce true se i parametri sono validi e viene visualizzata la finestra di dialogo per l'individuazione dei file.
|
Eventi
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.
|
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, vedete la classe FileFilter.
| |
Error — Se il metodo non viene chiamato in seguito a un'azione dell'utente, come un evento mouse o tastiera.
|
Altre informazioni
Elementi API correlati
cancel event
FileReference.download()
FileReferenceList.browse()
File.browseForDirectory()
File.browseForOpen()
File.browseForOpenMultiple()
File.browseForSave()
cancel | () | metodo |
public function cancel():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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 |
Versioni runtime: | AIR 1.0, 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 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. Assicuratevi 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.
Non potete collegarvi alle porte comunemente riservate. Per un elenco completo di porte bloccate, vedete "Limitazioni delle API di connettività di rete" nella Guida per gli sviluppatori di ActionScript 3.0.
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 riesce.
Quando utilizzate questo metodo, considerate il modello di sicurezza di Flash Player:
- Le operazioni di caricamento non sono consentite se il file SWF che effettua la chiamata si trova in una sandbox locale non attendibile.
- Per impostazione predefinita, viene negato l'accesso delle sandbox ad altre sandbox. L'accesso a una risorsa su un sito Web è consentito mediante l'aggiunta di un file dei criteri per gli URL.
- Potete impedire che un file SWF utilizzi questo metodo impostando il parametro
allowNetworking
dei tagobject
edembed
nella pagina HTML che include il contenuto SWF. - In Flash Player 10 e in Flash Player 9 Aggiornamento 5, potete chiamare questo metodo solo in seguito a un evento utente (ad esempio, in un gestore di eventi per un clic del mouse o la pressione di un tasto). Altrimenti, quando chiamate questo metodo viene generata un'eccezione Error.
Tuttavia, in Adobe AIR, il contenuto della funzione di sicurezza sandbox dell'applicazione
(contenuto installato con l'applicazione AIR) non è interessato da queste limitazioni di sicurezza.
Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .
Quando scaricate un file tramite questo metodo, viene contrassegnato come scaricato nei sistemi operativi che applicano flag ai file scaricati:
- Windows XP Service Pack 2 e versioni successive e Windows Vista
- Mac OS 10.5 e versioni successive
In alcuni sistemi operativi, come Linux, i file scaricati non vengono contrassegnati.
A causa delle nuove funzioni aggiunte a Flash Player, quando si pubblica su Flash Player 10, solo una alla volta delle seguenti operazioni può essere attiva: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Altrimenti, Flash Player genera un errore di runtime (codice 2174). Utilizzate FileReference.cancel()
per interrompere un'operazione in corso. Questa limitazione è valida solo per Flash Player 10. Le versioni precedenti di Flash Player non risentono di questa limitazione su operazioni multiple simultanee.
In Adobe AIR, la finestra di dialogo di scaricamento non viene sempre visualizzata in primo piano rispetto alle finestre appartenenti a un'altra finestra (le finestre con una proprietà owner
non null). Per evitare problemi di ordinamento delle finestre, nascondere quelle appartenenti a un'altra finestra prima di chiamare questo metodo.
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. La proprietà requestHeaders dell'oggetto URLRequest viene ignorata; le intestazioni delle richieste HTTP personalizzate non sono supportate nei caricamenti o negli scaricamenti. Per inviare dei parametri POST o GET al server, impostate 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: — 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 seguenti motivi:
|
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 — Il contenuto locale non attendibile non può contattare 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.
| |
SecurityError — Non potete collegarvi alle porte comunemente riservate. Per un elenco completo di porte bloccate, vedete "Limitazioni delle API di connettività di rete" nella Guida per gli sviluppatori di ActionScript 3.0.
| |
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 .
| |
Error — Se il metodo non viene chiamato in seguito a un'azione dell'utente, come un evento mouse o tastiera.
|
Altre informazioni
Elementi API correlati
FileReference.browse()
FileReferenceList.browse()
FileReference.upload()
FileReference.save()
Esempio ( Come utilizzare questo esempio )
download
. Per provare l'esempio, modificate 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); } } }
load | () | metodo |
public function load():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Avvia il caricamento di un file locale selezionato da un utente. Benché Flash Player non preveda limitazioni alle dimensioni dei file che potete caricare, scaricare o salvare, ufficialmente supporta al massimo dimensioni di 100 MB. Per i contenuti in esecuzione in Flash Player, dovete chiamare il metodo FileReference.browse()
o FileReferenceList.browse()
prima di chiamare il metodo load()
. Tuttavia, i contenuti in esecuzione in AIR nella funzione di sicurezza sandbox dell'applicazione possono chiamare il metodo load()
di un oggetto File senza prima chiamare il metodo browse()
. (La classe File AIR estende la classe FileReference).
I listener ricevono gli eventi che indicano l'avanzamento, il completamento o l'interruzione del caricamento. Benché possiate utilizzare l'oggetto FileReferenceList per consentire agli utenti di selezionare più file da caricare, dovete caricare i file uno per uno. Per caricare i file uno per uno, eseguite iterazioni nell'array FileReferenceList.fileList
di oggetti FileReference.
In Adobe AIR è inoltre inclusa la classe FileStream che offre un maggior numero di opzioni per la lettura dei file.
Le funzioni FileReference.upload()
, FileReference.download()
, FileReference.load()
e FileReference.save()
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 transazione che non è ancora stata completata per l'oggetto viene annullata quando l'area di validità viene abbandonata. Assicuratevi che l'oggetto FileReference rimanga all'interno dell'area di validità per la durata prevista dell'operazione di caricamento, scaricamento o salvataggio.
Se il caricamento del file viene ultimato correttamente, i relativi contenuti vengono memorizzati sotto forma di array di byte nella proprietà data
dell'oggetto FileReference.
Valgono le seguenti considerazioni sulla sicurezza:
- Le operazioni di caricamento non sono consentite se il file SWF che effettua la chiamata si trova in una sandbox locale non attendibile.
- Per impostazione predefinita, viene negato l'accesso delle sandbox ad altre sandbox. L'accesso a una risorsa su un sito Web è consentito mediante l'aggiunta di un file dei criteri per i domini.
- È possibile impedire che un file utilizzi questo metodo impostando il parametro
allowNetworking
dei tagobject
edembed
nella pagina HTML che include il contenuto SWF.
Tuttavia, queste limitazioni di sicurezza non valgono per il contenuto AIR presente nella funzione di sicurezza sandbox.
Quando pubblicate in Flash Player 10 o AIR 1.5, può essere attiva solo una delle seguenti operazioni alla volta: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. In caso contrario, l'applicazione genera un errore di runtime (codice 2174). Utilizzate FileReference.cancel()
per interrompere un'operazione in corso. Questa limitazione vale solo per Flash Player 10 e AIR 1.5. Le versioni precedenti di Flash Player o AIR non sono interessate da questa limitazione delle operazioni multiple simultanee.
In Adobe AIR, la finestra di dialogo per la ricerca di file non viene sempre visualizzata in primo piano rispetto alle finestre appartenenti a un'altra finestra (le finestre con una proprietà owner
non null). Per evitare problemi di ordinamento delle finestre, nascondere quelle appartenenti a un'altra finestra prima di chiamare questo metodo.
Eventi
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.
| |
ioError: — Richiamato se il caricamento non riesce a causa di un errore di input/output durante la lettura o la scrittura del file da parte dell'applicazione.
|
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.
| |
MemoryError — Questo errore può verificarsi se l'applicazione non è in grado di allocare memoria per il file. Il file può essere troppo grande o la memoria disponibile troppo limitata.
|
Altre informazioni
Elementi API correlati
FileReferenceList.browse()
FileReference.data
FileReferenceList.fileList
FileReference.save()
FileStream
Esempio ( Come utilizzare questo esempio )
var buttonShape:Shape = new Shape(); buttonShape.graphics.beginFill(0x336699); buttonShape.graphics.drawCircle(50, 50, 25); var button = new SimpleButton(buttonShape, buttonShape, buttonShape, buttonShape); addChild(button); var fileRef:FileReference= new FileReference(); button.addEventListener(MouseEvent.CLICK, onButtonClick); function onButtonClick(e:MouseEvent):void { fileRef.browse([new FileFilter("Images", "*.jpg;*.gif;*.png")]); fileRef.addEventListener(Event.SELECT, onFileSelected); } function onFileSelected(e:Event):void { fileRef.addEventListener(Event.COMPLETE, onFileLoaded); fileRef.load(); } function onFileLoaded(e:Event):void { var loader:Loader = new Loader(); loader.loadBytes(e.target.data); addChild(loader); }
requestPermission | () | metodo |
public function requestPermission():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 24.0 |
Richiede l’autorizzazione di accesso al file system.
Eventi
PermissionStatus: — Inviato quando l’autorizzazione richiesta viene concessa o negata dall’utente.
|
save | () | metodo |
public function save(data:*, defaultFileName:String = null):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Apre una finestra di dialogo che consente all'utente di salvare un file nel file system locale. Benché in Flash Player non siano previste limitazioni alle dimensioni dei file che è possibile caricare, scaricare o salvare, ufficialmente il lettore supporta dimensioni massime di 100 MB.
Il metodo save()
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 salvataggio (ad esempio, facendo clic su Salva), ha inizio il processo di salvataggio. I listener ricevono gli eventi che indicano l'avanzamento, il completamento o l'interruzione dell'operazione di salvataggio. Per determinare lo stato della finestra di dialogo e l'operazione di salvataggio dopo la chiamata a save()
, il codice utilizzato deve ricevere eventi come cancel
, open
, progress
e complete
.
In Adobe AIR è inoltre inclusa la classe FileStream che offre un maggior numero di opzioni per il salvataggio locale dei file.
Le funzioni FileReference.upload()
, FileReference.download()
, FileReference.load()
e FileReference.save()
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 transazione che non è ancora stata completata per l'oggetto viene annullata quando l'area di validità viene abbandonata. Assicuratevi che l'oggetto FileReference rimanga all'interno dell'area di validità per la durata prevista dell'operazione di caricamento, scaricamento o salvataggio.
Una volta salvato correttamente il file, le proprietà dell'oggetto FileReference vengono compilate con le proprietà del file locale. L'evento complete
viene inviato se il salvataggio è stato completato correttamente.
È possibile eseguire una sola sessione browse()
o save()
alla volta (poiché è possibile richiamare una sola finestra di dialogo per volta).
In Flash Player, potete chiamare questo metodo solo in seguito a un evento utente (ad esempio, in un gestore di eventi per un clic del mouse o la pressione di un tasto). Altrimenti, chiamando il metodo si genera un'eccezione Error. Questa limitazione non vale per il contenuto AIR nella funzione di sicurezza sandbox dell'applicazione.
In Adobe AIR, la finestra di dialogo di salvataggio non viene sempre visualizzata in primo piano rispetto alle finestre appartenenti a un'altra finestra (le finestre con una proprietà owner
non null). Per evitare problemi di ordinamento delle finestre, nascondere quelle appartenenti a un'altra finestra prima di chiamare questo metodo.
Parametri
data:* — I dati da salvare. I dati possono essere in diversi formati e vengono gestiti di conseguenza:
| |
defaultFileName:String (default = null ) — Il nome di file predefinito visualizzato nella finestra di dialogo per il file che deve essere salvato. Questa stringa non può contenere i caratteri seguenti: / \ : * ? " < > | %
Se un oggetto File chiama questo metodo, il nome di file corrisponde a quello del file a cui fa riferimento l'oggetto File. (La classe File AIR estende la classe FileReference.) |
Eventi
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.
| |
ioError: — Inviato se si verifica un errore di input/output durante la lettura o la trasmissione del file.
|
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 nome di file da scaricare contiene dei caratteri non consentiti. 3) Un'impostazione nel file mms.cfg dell'utente proibisce questa operazione.
| |
ArgumentError — Se data non è di tipo ByteArray e non dispone di un metodo toString() , viene generata un'eccezione. Se data non è di tipo XML e non dispone di un metodo toXMLString() , viene generata un'eccezione.
| |
Error — Se il metodo non viene chiamato in seguito a un'azione dell'utente, come un evento mouse o tastiera.
| |
MemoryError — Questo errore può verificarsi se Flash Player non è in grado di allocare memoria per il file. Il file può essere troppo grande o la memoria disponibile troppo limitata.
|
Altre informazioni
Elementi API correlati
FileReference.load()
FileReference.data
FileReference.upload()
FileReference.download()
FileStream
Esempio ( Come utilizzare questo esempio )
MyTextField
) e un altro non modificabile (MyButtonField
) da utilizzare come un "pulsante" per rispondere a un clic del mouse. Un utente può modificare il primo campo di testo e fare clic sul pulsante per salvarne il contenuto in un file locale. Il gestore di eventi clic del mouseclickhandler
utilizza il metodo FileReference.save()
(per un oggetto FileReference denominato MyFileReference
) per aprire una finestra di dialogo nel sistema operativo corrente dell'utente che consente il salvataggio del contenuto in un file locale con il nome fornito dall'utente.
var MyTextField:TextField = new TextField(); var MyButtonField:TextField = new TextField(); var MyFile:FileReference = new FileReference(); MyTextField.border = true; MyTextField.type = TextFieldType.INPUT; MyButtonField.background = true; MyButtonField.backgroundColor = 0x339933; MyButtonField.x = 150; MyButtonField.height = 20; MyButtonField.text = "Click here to save"; addChild(MyTextField); addChild(MyButtonField); MyButtonField.addEventListener(MouseEvent.CLICK, clickhandler); function clickhandler(e:MouseEvent): void { MyFile.save(MyTextField.text); }
upload | () | metodo |
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Avvia il caricamento del file 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.
Per la classe File di Adobe AIR, che estende la classe FileReference, potete utilizzare il metodo upload()
per caricare qualsiasi file. Per la classe FileReference (utilizzata in Flash Player), l'utente deve prima selezionare un file.
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. Assicuratevi 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
dimultipart/form-data
Content-Disposition
con un attributoname
impostato su"Filedata"
per impostazione predefinita e un attributofilename
impostato sul nome del file originale- Il contenuto binario del file
Non potete collegarvi alle porte comunemente riservate. Per un elenco completo di porte bloccate, vedete "Limitazioni delle API di connettività di rete" nella Guida per gli sviluppatori di ActionScript 3.0.
Per un esempio di richieste POST
, vedete la descrizione del parametro uploadDataFieldName
. È possibile inviare parametri POST
o GET
al server con il metodo upload()
; vedete 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 riesce.
Quando utilizzate questo metodo, considerate il modello di sicurezza di Flash Player:
- Le operazioni di caricamento non sono consentite se il file SWF che effettua la chiamata si trova in una sandbox locale non attendibile.
- Per impostazione predefinita, viene negato l'accesso delle sandbox ad altre sandbox. L'accesso a una risorsa su un sito Web è consentito mediante l'aggiunta di un file dei criteri per gli URL.
- Potete impedire che un file SWF utilizzi questo metodo impostando il parametro
allowNetworking
dei tagobject
edembed
nella pagina HTML che include il contenuto SWF.
Tuttavia, in Adobe AIR, il contenuto della funzione di sicurezza sandbox dell'applicazione
(contenuto installato con l'applicazione AIR) non è interessato da queste limitazioni di sicurezza.
Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .
A causa delle nuove funzioni aggiunte a Flash Player, quando si pubblica su Flash Player 10, solo una alla volta delle seguenti operazioni può essere attiva: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Altrimenti, Flash Player genera un errore di runtime (codice 2174). Utilizzate FileReference.cancel()
per interrompere un'operazione in corso. Questa limitazione è valida solo per Flash Player 10. Le versioni precedenti di Flash Player non risentono di questa limitazione su operazioni multiple simultanee.
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. La proprietà requestHeaders dell'oggetto URLRequest viene ignorata; le intestazioni delle richieste HTTP personalizzate non sono supportate nei caricamenti o negli scaricamenti.
L'URL può essere di tipo HTTP o HTTPS (per i caricamenti protetti). Per utilizzare HTTPS, specificate 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.
|
Eventi
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.
| |
httpResponseStatus: — L'operazione di caricamento viene completata correttamente e il server restituisce un URL di risposta e delle intestazioni di risposta.
| |
ioError: — Chiamato in una dele seguenti situazioni:
|
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.
| |
SecurityError — Non potete collegarvi alle porte comunemente riservate. Per un elenco completo di porte bloccate, vedete "Limitazioni delle API di connettività di rete" nella Guida per gli sviluppatori di ActionScript 3.0.
| |
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. 3) Nel runtime di AIR (nella funzione di sicurezza sandbox dell'applicazione), il metodo di URLRequest non è GET o POST (utilizzate piuttosto uploadEncoded() ).
| |
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 .
|
Altre informazioni
Elementi API correlati
uploadUnencoded | () | metodo |
public function uploadUnencoded(request:URLRequest):void
Versioni runtime: | AIR 1.0 |
Avviate il caricamento di un file in un URL senza alcuna codifica. Mentre il metodo upload()
codifica il file in un involucro form-data, il metodo uploadUnencoded()
passa il contenuto del file così com'è nel corpo della richiesta HTTP. Utilizzate il metodo uploadUnencoded() se i dati da inviare sono già codificati in un formato che il server di ricezione è in grado di interpretare. Di solito, si utilizza il metodo uploadeUnencoded()
con il metodo HTTP/WebDAV PUT
.
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, specificate un URL HTTPS nel parametro Per inviare dei parametri |
Eventi
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.
| |
httpResponseStatus: — L'operazione di caricamento viene completata correttamente e il server restituisce un URL di risposta e delle intestazioni di risposta.
| |
ioError: — Chiamato in una dele seguenti situazioni:
|
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 del file deve utilizzare HTTP.
|
Elementi API correlati
cancel | Evento |
flash.events.Event
proprietà Event.type =
flash.events.Event.CANCEL
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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).
La costanteEvent.CANCEL
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. |
Esempio ( Come utilizzare questo esempio )
cancel
. Per provare l'esempio, modificate 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
proprietà Event.type =
flash.events.Event.COMPLETE
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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 o Adobe AIR termina lo scaricamento sul disco dell'intero file. Per il caricamento dei file, questo evento viene inviato dopo che Flash Player o Adobe AIR ha ricevuto il codice di stato HTTP 200 dal server che riceve la trasmissione.
La costanteEvent.COMPLETE
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. |
Esempio ( Come utilizzare questo esempio )
complete
. Per provare l'esempio, modificate 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); } } }
Elementi API correlati
httpResponseStatus | Evento |
flash.events.HTTPStatusEvent
proprietà HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, AIR 1.0 |
Inviato se una chiamata al metodo upload()
o uploadUnencoded()
tenta di accedere ai dati via HTTP e Adobe AIR è in grado di rilevare e restituire il codice di stato della richiesta.
httpStatus
, l'evento httpResponseStatus
viene inviato prima dei dati di risposta. Inoltre, l'evento httpResponseStatus
include valori per le proprietà responseHeaders
e responseURL
(che non sono definite per un evento httpStatus
). L'evento httpResponseStatus
(se presente) viene inviato prima di (e in aggiunta a) qualsiasi evento complete
o error
.
La costante HTTPStatusEvent.HTTP_RESPONSE_STATUS
definisce il valore della proprietà type
di un oggetto evento httpResponseStatus
.
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. |
responseURL | L'URL da cui è stata restituita la risposta. |
responseHeaders | Le intestazioni di risposta che la risposta ha restituito, come un array di oggetti URLRequestHeader. |
status | Il codice di stato HTTP restituito dal server. |
redirected | Se la risposta è il risultato di un reindirizzamento. |
target | L'oggetto di rete che riceve un codice di stato HTTP. |
Elementi API correlati
httpStatus | Evento |
flash.events.HTTPStatusEvent
proprietà HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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. Per il contenuto in esecuzione in Flash Player, questo evento 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.
HTTPStatusEvent.HTTP_STATUS
definisce il valore della proprietà 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. |
Elementi API correlati
ioError | Evento |
flash.events.IOErrorEvent
proprietà IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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:
- Si verifica un errore di input/output durante la lettura, la scrittura o la trasmissione del file da parte del lettore.
- Il file SWF tenta di caricare un file in un server che richiede l'autenticazione (ad esempio nome utente e password). Durante il caricamento, Flash Player o Adobe AIR non fornisce all'utente un modo per immettere una password. Se un file SWF tenta di caricare un file in un server che richiede l'autenticazione, il caricamento non riesce.
- 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 all'utente 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 dei file riesce solo nel controllo ActiveX, nei lettori plug-in per il browser e nel runtime di Adobe AIR.
- Il valore passato al parametro
url
nel metodoupload()
contiene un protocollo non valido. I protocolli validi sono HTTP e HTTPS.
Importante: solo le applicazioni in esecuzione in un browser (ovvero quelle che usano il plug-in per il browser o il controllo ActiveX) e il contenuto in esecuzione in Adobe AIR 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 la versione del controllo ActiveX di Flash Player 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. |
errorID | Un numero di riferimento associato all'errore specifico (solo AIR). |
target | L'oggetto di rete interessato dall'errore di input/output. |
text | Testo da visualizzare come messaggio di errore. |
Elementi API correlati
open | Evento |
flash.events.Event
proprietà Event.type =
flash.events.Event.OPEN
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Inviato quando viene avviata l'operazione di caricamento o scaricamento.
La costanteEvent.OPEN
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. |
Esempio ( Come utilizzare questo esempio )
download
. Per provare l'esempio, modificate 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); } } }
Elementi API correlati
permissionStatus | Evento |
flash.events.PermissionEvent
proprietà PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 24.0 |
Inviato quando l’applicazione richiede l’autorizzazione di accesso al file system. Controllando il valore della proprietà status
, è possibile verificare se l’autorizzazione è stata concessa o negata.
Elementi API correlati
progress | Evento |
flash.events.ProgressEvent
proprietà ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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, intercettate 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 che riporta l'avanzamento. |
Esempio ( Come utilizzare questo esempio )
progress
. Per provare l'esempio, modificate 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); } } }
Elementi API correlati
securityError | Evento |
flash.events.SecurityErrorEvent
proprietà SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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. Potete tentare di risolvere questo errore utilizzando un file dei criteri degli URL.
In Adobe AIR, queste limitazioni di sicurezza non valgono per il contenuto presente nella funzione di sicurezza sandbox.
In Adobe AIR, queste limitazioni di sicurezza non valgono per il contenuto presente nella funzione di sicurezza sandbox.
La costanteSecurityErrorEvent.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. |
Elementi API correlati
select | Evento |
flash.events.Event
proprietà Event.type =
flash.events.Event.SELECT
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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.
Per il contenuto in esecuzione in Flash Player o al di fuori della funzione di sicurezza sandbox dell'applicazione nel runtime di Adobe AIR , l'evento select
si comporta in modo leggermente diverso a seconda dell'evento che lo richiama. Quando l'evento select
viene inviato dopo una chiamata a browse()
, Flash Player o l'applicazione AIR è 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 o l'applicazione AIR è 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 o l'applicazione AIR può leggere tutte le altre proprietà dell'oggetto FileReference.
Event.SELECT
definisce il valore della proprietà 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 su cui è stata selezionata una voce. |
Esempio ( Come utilizzare questo esempio )
select
. Per provare l'esempio, modificate 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
proprietà DataEvent.type =
flash.events.DataEvent.UPLOAD_COMPLETE_DATA
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, 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, modificate 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. A seconda della vostra 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:DataEvent):void { trace("uploadCompleteData: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url); file.upload(uploadURL); } } }
Tue Jun 12 2018, 02:44 PM Z