Pakket | flash.net |
Klasse | public class FileReference |
Overerving | FileReference EventDispatcher Object |
Subklassen | File |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Opmerking: in Adobe AIR biedt de File-klasse, die een uitbreiding vormt van de FileReference-klasse, meer functies en minder beveiligingsbeperkingen dan de FileReference-klasse.
FileReference-instanties worden op de volgende manieren gemaakt:
- Wanneer u de operator
new
gebruikt met de constructor FileReference:var myFileReference = new FileReference();
- Wanneer u
FileReferenceList.browse()
aanroept, waarmee een array van objecten FileReference wordt gemaakt.
Tijdens het uploaden worden alle eigenschappen van een object FileReference gevuld met aanroepen van de methode FileReference.browse()
of FileReferenceList.browse()
. Tijdens het downloaden wordt de eigenschap name
gevuld wanneer de gebeurtenis select
wordt verzonden. Alle andere eigenschappen worden gevuld wanneer de gebeurtenis complete
wordt verzonden.
De methode browse()
opent een dialoogvenster van het besturingssysteem waarin de gebruiker wordt gevraagd een bestand te selecteren om te uploaden. Met de methode FileReference.browse()
kan de gebruiker één bestand selecteren. Met de methode FileReferenceList.browse()
kan de gebruiker meerdere bestanden selecteren. Nadat de methode browse()
met succes is aangeroepen, roept u de methode FileReference.upload()
aan om één bestand tegelijk te uploaden. De methode FileReference.download()
vraagt de gebruiker een locatie op te geven om het bestand op te slaan en start het downloaden vanaf een externe URL.
De klassen FileReference en FileReferenceList staan u niet toe de standaardbestandslocatie in te stellen voor het dialoogvenster dat wordt gegenereerd door de methode browse()
of download()
. De standaardlocatie die in het dialoogvenster wordt weergegeven, is de map waarnaar het laatst is gebladerd, indien die locatie kan worden bepaald, of het bureaublad. De klassen staan u niet toe te lezen van of te schrijven naar het overgedragen bestand. Ze geven het SWF-bestand dat de upload of download heeft gestart, geen toegang tot het geüploade of gedownloade bestand of de locatie van het bestand op de schijf.
De klassen FileReference en FileReferenceList bieden ook geen methoden voor verificatie. Voor servers die verificatie vereisen, kunt u bestanden downloaden met de browserinsteekmodule van Flash ® Player, maar het uploaden (alle spelers) en downloaden (zelfstandige of externe speler) mislukt. Luister naar FileReference-gebeurtenissen om te bepalen of bewerkingen succesvol zijn verlopen en of fouten moeten worden afgehandeld.
Voor inhoud die wordt uitgevoerd in Flash Player of voor inhoud die in Adobe AIR buiten de sandbox met toepassingsbeveiliging wordt uitgevoerd geldt dat upload- en downloadbewerkingen alleen toegang kunnen krijgen tot bestanden binnen het eigen domein en binnen domeinen die in een bestand met URL-beleid zijn genoemd. Plaats een beleidsbestand op de bestandsserver wanneer de inhoud die de upload of download start, niet uit hetzelfde domein als de bestandsserver komt.
Als u publiceert naar Flash Player 10, kan er altijd maar één van de volgende bewerkingen actief zijn omdat er nieuwe functionaliteit is toegevoegd aan Flash Player: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Als niet aan deze voorwaarde wordt voldaan, genereert Flash Player een runtime-fout (code 2174). Gebruik FileReference.cancel()
om een actieve bewerking te stoppen. Deze beperking geldt alleen voor Flash Player 10. Deze beperking ten aanzien van gelijktijdige beperkingen geldt dus niet voor eerdere versies van Flash Player.
Terwijl aanroepen worden uitgevoerd van de methode FileReference.browse()
, FileReferenceList.browse()
of FileReference.download()
, wordt het afspelen van SWF-bestanden gepauzeerd in zelfstandige en externe versies van Flash Player en in AIR voor Linux en Mac OS X 10.1 en lager
De hieronder als voorbeeld gegeven HTTP-aanvraag POST
wordt vanaf Flash Player verzonden naar een serverscript wanneer geen parameters worden opgegeven:
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 verzendt de volgende HTTP-aanvraag POST
wanneer de gebruiker de parameters "api_sig"
, "api_key"
en "auth_token"
opgeeft:
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--
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
creationDate : Date [alleen-lezen]
De aanmaakdatum van het bestand op de lokale schijf. | FileReference | ||
creator : String [alleen-lezen]
Het Macintosh-makerstype van het bestand, dat alleen wordt gebruikt in Mac OS-versies, ouder dan Mac OS X. | FileReference | ||
data : ByteArray [alleen-lezen]
Het object ByteArray bevat de gegevens van het geladen bestand na een geslaagde aanroep van de methode load(). | FileReference | ||
extension : String [alleen-lezen]
De bestandsnaamextensie. | FileReference | ||
modificationDate : Date [alleen-lezen]
De datum waarop het bestand op de lokale schijf het laatst is gewijzigd. | FileReference | ||
name : String [alleen-lezen]
De naam van het bestand op de lokale schijf. | FileReference | ||
permissionStatus : String [statisch] [alleen-lezen]
Hiermee bepaalt u of de toepassing al dan niet toegangsrecht heeft tot het bestandssysteem. | FileReference | ||
size : Number [alleen-lezen]
De grootte van het bestand op de lokale schijf in bytes. | FileReference | ||
type : String [alleen-lezen]
Het bestandstype. | FileReference |
Methode | Gedefinieerd door | ||
---|---|---|---|
Maakt een nieuw object FileReference. | FileReference | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Geeft een bladerdialoogvenster weer waarin de gebruiker een bestand kan selecteren om te uploaden. | FileReference | ||
Annuleert een actieve upload of download op dit object FileReference. | FileReference | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
Opent een dialoogvenster waarin de gebruiker een bestand van een externe server kan downloaden. | FileReference | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Start het laden van een lokaal bestand dat door een gebruiker is geselecteerd. | FileReference | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Hiermee wordt toestemming gevraagd voor toegang tot het bestandssysteem. | FileReference | ||
Opent een dialoogvenster waarmee de gebruiker een bestand in het lokale bestandssysteem kan opslaan. | FileReference | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Hiermee wordt het uploaden van het bestand naar een externe server gestart. | FileReference | ||
Start het uploaden van een bestand naar een URL zonder enige codering. | FileReference | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
Gebeurtenis | Overzicht | Gedefinieerd door | ||
---|---|---|---|---|
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de besturingssysteemfocus krijgt en actief wordt. | EventDispatcher | |||
Wordt verzonden wanneer het uploaden en downloaden van een bestand via het bladerdialoogvenster wordt geannuleerd door de gebruiker. | FileReference | |||
Wordt verzonden wanneer het downloaden is voltooid of wanneer door het uploaden de HTTP-statuscode 200 wordt gegenereerd. | FileReference | |||
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de systeemfocus verliest en inactief wordt. | EventDispatcher | |||
Wordt verzonden als een aanroep naar de methode upload() of uploadUnencoded() via HTTP toegang tot gegevens probeert te krijgen, en Adobe AIR de statuscode voor de aanvraag kan detecteren en retourneren. | FileReference | |||
Wordt verzonden wanneer een upload mislukt en er een HTTP-statuscode beschikbaar is die de fout beschrijft. | FileReference | |||
Wordt verzonden wanneer de upload of download mislukt. | FileReference | |||
Wordt verzonden wanneer het uploaden of downloaden begint. | FileReference | |||
Wordt verzonden wanneer de toepassing toegang tot het bestandssysteem vraagt. | FileReference | |||
Wordt periodiek verzonden tijdens het uploaden of downloaden van het bestand. | FileReference | |||
Wordt verzonden wanneer een aanroep van de methode FileReference.upload() of FileReference.download() een bestand naar een server probeert te uploaden of een bestand van de server probeert te downloaden dat zich buiten de beveiligingssandbox van de aanroeper bevindt. | FileReference | |||
Wordt verzonden wanneer de gebruiker in het bladerdialoogvenster een bestand selecteert om te uploaden of downloaden. | FileReference | |||
Wordt verzonden nadat gegevens van de server zijn ontvangen nadat het uploaden is voltooid. | FileReference |
creationDate | eigenschap |
creationDate:Date
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
De aanmaakdatum van het bestand op de lokale schijf. Wanneer het object niet is gevuld, retourneert een aanroep om de waarde van deze eigenschap op te halen de waarde null
.
Opmerking: Als een besturingssysteem geen creationDate
heeft als eigenschap, is CreationDate
in dergelijke gevallen gelijk aan lastModifiedDate
.
Implementatie
public function get creationDate():Date
Gegenereerde uitzondering
IllegalOperationError — Wanneer de methode FileReference.browse() , FileReferenceList.browse() of FileReference.download() niet correct wordt aangeroepen, wordt een uitzondering gegenereerd met een bericht dat aangeeft dat functies in een onjuiste volgorde zijn aangeroepen of dat een eerdere aanroep niet is gelukt. In dat geval is de waarde van de eigenschap creationDate gelijk aan null .
| |
IOError — Wanneer de bestandsinformatie niet kan worden geopend, wordt een uitzondering gegenereerd, samen met een bericht waarin een bestands-I/O-fout wordt aangegeven.
|
Verwante API-elementen
creator | eigenschap |
creator:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Het Macintosh-makerstype van het bestand, dat alleen wordt gebruikt in Mac OS-versies ouder dan Mac OS X. In Windows of Linux is deze eigenschap null
. Wanneer het object FileReference niet is gevuld, retourneert een aanroep om de waarde van deze eigenschap op te halen de waarde null
.
Implementatie
public function get creator():String
Gegenereerde uitzondering
IllegalOperationError — Voor Macintosh: wanneer de methode FileReference.browse() , FileReferenceList.browse() of FileReference.download() niet correct wordt aangeroepen, wordt een uitzondering gegenereerd met een bericht dat aangeeft dat functies in een onjuiste volgorde zijn aangeroepen of dat een eerdere aanroep niet is gelukt. In dat geval is de waarde van de eigenschap creator gelijk aan null .
|
Verwante API-elementen
data | eigenschap |
data:ByteArray
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Het object ByteArray bevat de gegevens van het geladen bestand na een geslaagde aanroep van de methode load()
.
Implementatie
public function get data():ByteArray
Gegenereerde uitzondering
IllegalOperationError — Als de methode load() niet correct wordt aangeroepen, wordt een uitzondering gegenereerd met een bericht dat aangeeft dat functies in een onjuiste volgorde zijn aangeroepen of dat een eerdere aanroep niet is gelukt. In dat geval is de waarde van de eigenschap data gelijk aan null .
| |
IOError — Wanneer het bestand niet kan worden geopend of gelezen, of als een gelijksoortig probleem optreedt wanneer toegang tot het bestand wordt gezocht, wordt een uitzondering gegenereerd met een bericht dat een bestands-I/O-fout aangeeft. In dat geval is de waarde van de eigenschap data gelijk aan null .
|
Verwante API-elementen
extension | eigenschap |
extension:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0 |
De bestandsnaamextensie.
De bestandsextensie is het deel van de naam dat volgt op (niet inclusief) de laatste punt ('.'). Als de bestandsnaam geen punt bevat, is de extensie null
.
Opmerking: Gebruik de eigenschap extension
om het bestandstype te bepalen. Gebruik daarvoor niet de eigenschap creator
of type
. U mag de eigenschappen creator
en type
eigenlijk als verouderd beschouwen. Ze zijn van toepassing op oudere versies van Mac OS.
Implementatie
public function get extension():String
Gegenereerde uitzondering
IllegalOperationError — Als de verwijzing niet is geïnitialiseerd.
|
modificationDate | eigenschap |
modificationDate:Date
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Player 9 |
De datum waarop het bestand op de lokale schijf het laatst is gewijzigd. Wanneer het object FileReference niet is gevuld, retourneert een aanroep om de waarde van deze eigenschap op te halen de waarde null
.
Implementatie
public function get modificationDate():Date
Gegenereerde uitzondering
IllegalOperationError — Wanneer de methode FileReference.browse() , FileReferenceList.browse() of FileReference.download() niet correct wordt aangeroepen, wordt een uitzondering gegenereerd met een bericht dat aangeeft dat functies in een onjuiste volgorde zijn aangeroepen of dat een eerdere aanroep niet is gelukt. In dat geval is de waarde van de eigenschap modificationDate gelijk aan null .
| |
IOError — Wanneer de bestandsinformatie niet kan worden geopend, wordt een uitzondering gegenereerd, samen met een bericht waarin een bestands-I/O-fout wordt aangegeven.
|
Verwante API-elementen
name | eigenschap |
name:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
De naam van het bestand op de lokale schijf. Als het FileReference-object niet is gevuld (door een geldige aanroep naar FileReference.download()
of FileReference.browse()
), genereert Flash Player een fout wanneer u de waarde van deze eigenschap probeert te verkrijgen.
Alle eigenschappen van een object FileReference worden gevuld door de methode browse()
aan te roepen. In tegenstelling tot andere FileReference-eigenschappen wordt bij het aanroepen van de methode download()
de eigenschap name
gevuld wanneer de gebeurtenis select
wordt verzonden.
Implementatie
public function get name():String
Gegenereerde uitzondering
IllegalOperationError — Wanneer de methode FileReference.browse() , FileReferenceList.browse() of FileReference.download() niet correct wordt aangeroepen, wordt een uitzondering gegenereerd met een bericht dat aangeeft dat functies in een onjuiste volgorde zijn aangeroepen of dat een eerdere aanroep niet is gelukt.
|
Verwante API-elementen
permissionStatus | eigenschap |
size | eigenschap |
size:Number
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
De grootte van het bestand op de lokale schijf in bytes.
Opmerking: In de eerste versie van ActionScript 3.0 was de eigenschap size
gedefinieerd als een uint-object, dat bestandsgrootten ondersteunde tot circa 4 GB. Het is nu geïmplementeerd als een Number-object zodat grotere bestanden kunnen worden ondersteund.
Implementatie
public function get size():Number
Gegenereerde uitzondering
IllegalOperationError — Wanneer de methode FileReference.browse() , FileReferenceList.browse() of FileReference.download() niet correct wordt aangeroepen, wordt een uitzondering gegenereerd met een bericht dat aangeeft dat functies in een onjuiste volgorde zijn aangeroepen of dat een eerdere aanroep niet is gelukt.
| |
IOError — Wanneer het bestand niet kan worden geopend of gelezen, of als een gelijksoortig probleem optreedt wanneer toegang tot het bestand wordt gezocht, wordt een uitzondering gegenereerd met een bericht dat een bestands-I/O-fout aangeeft.
|
Verwante API-elementen
type | eigenschap |
type:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Het bestandstype.
In Windows of Linux is deze eigenschap de bestandsextensie. Op de Macintosh is deze eigenschap het bestandstype van vier tekens, dat alleen wordt gebruikt in Mac OS-versies die ouder zijn dan Mac OS X. Wanneer het FileReference-object niet is gevuld, retourneert een aanroep om de waarde van deze eigenschap op te halen de waarde null
.
Voor Windows, Linux en Mac OS X is het de bestandsextensie - het deel van de eigenschap name
dat volgt na de laatste punt (.) - het bestandstype aan.
Implementatie
public function get type():String
Gegenereerde uitzondering
IllegalOperationError — Wanneer de methode FileReference.browse() , FileReferenceList.browse() of FileReference.download() niet correct wordt aangeroepen, wordt een uitzondering gegenereerd met een bericht dat aangeeft dat functies in een onjuiste volgorde zijn aangeroepen of dat een eerdere aanroep niet is gelukt. In dat geval is de waarde van de eigenschap type gelijk aan null .
|
Verwante API-elementen
FileReference | () | Constructor |
public function FileReference()
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Maakt een nieuw object FileReference. Wanneer het object FileReference is gevuld, vertegenwoordigt het een bestand op de lokale schijf van de gebruiker.
Verwante API-elementen
browse | () | methode |
public function browse(typeFilter:Array = null):Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Geeft een bladerdialoogvenster weer waarin de gebruiker een bestand kan selecteren om te uploaden. Het dialoogvenster behoort tot het besturingssysteem van de gebruiker. De gebruiker kan een bestand op de lokale computer selecteren, maar ook op andere systemen, bijvoorbeeld via een UNC-pad onder Windows.
Opmerking: de File-klasse van Adobe AIR bevat toegangsmethoden voor specifieke dialoogvensters voor de selectie van systeembestanden. Deze methoden zijn: File.browseForDirectory()
, File.browseForOpen()
, File.browseForOpenMultiple()
en File.browseForSave()
.
Wanneer u deze methode aanroept en de gebruiker een bestand selecteert, worden de eigenschappen van dit object FileReference met de eigenschappen van dat bestand gevuld. Telkens wanneer de methode FileReference.browse()
wordt aangeroepen, worden de eigenschappen van het object FileReference teruggezet naar het bestand dat door de gebruiker in het dialoogvenster is geselecteerd. Er kan slechts een enkele sessie browse()
ofdownload()
tegelijk worden uitgevoerd (omdat slechts een enkel dialoogvenster tegelijk kan worden weergegeven).
Met de parameter typeFilter
kunt u bepalen welke bestanden in het dialoogvenster worden weergegeven.
In Flash Player 10 en Flash Player 9 Update 5 kunt u deze methode alleen gebruiken in reactie op een gebruikersgebeurtenis (bijvoorbeeld in een gebeurtenishandler voor een muisklik of een toetsaanslag). Als u deze methode op een ander moment aanroept, wordt een uitzondering gegenereerd in Flash Player.
Als u publiceert naar Flash Player 10, kan er altijd maar één van de volgende bewerkingen actief zijn omdat er nieuwe functionaliteit is toegevoegd aan Flash Player: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Als niet aan deze voorwaarde wordt voldaan, genereert Flash Player een runtime-fout (code 2174). Gebruik FileReference.cancel()
om een actieve bewerking te stoppen. Deze beperking geldt alleen voor Flash Player 10. Deze beperking ten aanzien van gelijktijdige beperkingen geldt dus niet voor eerdere versies van Flash Player.
Het Adobe AIR-dialoogvenster waarin u kunt bladeren door bestanden wordt niet altijd weergegeven vóór vensters die het eigendom zijn van een ander venster (vensters waarvan de eigenschap owner
een waarde heeft die niet gelijk is aan null). Als u problemen wilt voorkomen met de volgorde waarin vensters worden weergegeven, moet u vensters met een eigenaar verbergen voordat u deze methode aanroept.
Parameters
typeFilter:Array (default = null ) — Een array van instanties FileFilter die wordt gebruikt om de bestanden te filteren die in het dialoogvenster worden weergegeven. Wanneer u deze parameter weglaat, worden alle bestanden weergegeven. Zie de klasse FileFilter voor meer informatie.
|
Boolean — Retourneert true wanneer de parameters geldig zijn en het bladerdialoogvenster wordt geopend.
|
Gebeurtenissen
select: — Wordt verzonden wanneer de gebruiker een item heeft geselecteerd in de bestandskiezer Browse.
| |
cancel: — Wordt verzonden wanneer de gebruiker het uploaden van bestanden annuleert in het browservenster.
|
Gegenereerde uitzondering
IllegalOperationError — Wordt in de volgende situaties gegenereerd: 1) Een andere bladersessie van FileReference of FileReferenceList wordt uitgevoerd. Er kan slechts een enkele bladersessie tegelijk worden uitgevoerd. 2) Een instelling in het bestand mms.cfg van de gebruiker staat deze bewerking niet toe.
| |
ArgumentError — Wanneer de array typeFilter objecten FileFilter met een verkeerde opmaak bevat, wordt een uitzondering gegenereerd. Zie de klasse FileFilter voor informatie over de juiste opmaak van objecten FileFilter.
| |
Error — Als de methode niet wordt aangeroepen in reactie op een gebruikersactie, zoals het klikken met de muis of het indrukken van een toets.
|
Verwante API-elementen
Gebeurtenis cancel
FileReference.download()
FileReferenceList.browse()
File.browseForDirectory()
File.browseForOpen()
File.browseForOpenMultiple()
File.browseForSave()
cancel | () | methode |
public function cancel():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Annuleert een actieve upload of download op dit object FileReference. Met het aanroepen van deze methode wordt niet de gebeurtenis cancel
verzonden. Dat gebeurt alleen wanneer de gebruiker de bewerking annuleert door het dialoogvenster voor uploaden of downloaden te sluiten.
download | () | methode |
public function download(request:URLRequest, defaultFileName:String = null):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Opent een dialoogvenster waarin de gebruiker een bestand van een externe server kan downloaden. Hoewel voor Flash Player geen beperkingen gelden op de grootte van bestanden die u kunt uploaden en downloaden, biedt de speler officieel ondersteuning voor het uploaden of downloaden van maximaal 100 MB.
Met de methode download()
wordt eerst een dialoogvenster van het besturingssysteem geopend, waarin de gebruiker wordt gevraagd een bestandsnaam in te voeren en een locatie op de lokale computer te selecteren om het bestand op te slaan. Wanneer de gebruiker een locatie selecteert en het downloaden bevestigt (door bijvoorbeeld op Opslaan te klikken), begint het downloaden vanaf de externe server. Listeners ontvangen gebeurtenissen die de voortgang, het voltooien of mislukken van het downloaden aangeven. Wanneer u de status van het dialoogvenster en het downloaden wilt controleren na het aanroepen van download()
, moet de code luisteren naar gebeurtenissen zoals cancel
, open
, progress
en complete
.
De functies FileReference.upload()
en FileReference.download()
zijn niet-blokkerend. Deze functies worden geretourneerd nadat ze zijn aangeroepen, voordat de bestandsoverdracht is voltooid. Wanneer het object FileReference buiten bereik treedt, wordt bovendien elke upload of download die voor dat object nog niet is voltooid, geannuleerd. Zorg ervoor dat het object FileReference binnen bereik blijft gedurende de tijd dat het uploaden of downloaden zal duren.
Wanneer het bestand is gedownload, worden de eigenschappen van het object FileReference gevuld met de eigenschappen van het lokale bestand. De gebeurtenis complete
wordt verzonden wanneer het downloaden is gelukt.
Er kan slechts een enkele sessie browse()
ofdownload()
tegelijk worden uitgevoerd (omdat slechts een enkel dialoogvenster tegelijk kan worden weergegeven).
Deze methode ondersteunt het downloaden van elk bestandstype met HTTP of HTTPS.
U kunt geen verbinding maken met algemeen gereserveerde poorten. Zie "Netwerk-API's beperken" in de Adobe ActionScript 3.0-ontwikkelaarsgids voor een volledige lijst van geblokkeerde poorten.
Opmerking: wanneer uw server verificatie vereist, kunnen alleen SWF-bestanden die in een browser worden uitgevoerd, met andere woorden, die de browserinsteekmodule of ActiveX-besturingselement gebruiken, een dialoogvenster weergeven waarin de gebruiker wordt gevraagd een gebruikersnaam en wachtwoord ter verificatie op te geven (alleen voor downloads). Uploaden met behulp van de insteekmodule of het ActiveX-besturingselement, of uploaden en downloaden met een zelfstandige of externe speler, mislukt.
Houd bij gebruik van deze methode rekening met het beveiligingsmodel van Flash Player:
- Laden is niet toegestaan wanneer het aanroepende SWF-bestand zich in een niet-vertrouwde lokale sandbox bevindt.
- Standaard wordt toegang tussen sandboxen geweigerd. Websites kunnen toegang tot een bron toestaan door een bestand met URL-beleid toe te voegen.
- U kunt voorkomen dat een SWF-bestand deze methode gebruikt door de parameter
allowNetworking
in te stellen van de tagsobject
enembed
op de HTML-pagina die de SWF-inhoud bevat. - In Flash Player 10 en Flash Player 9 Update 5 kunt u deze methode alleen gebruiken in reactie op een gebruikersgebeurtenis (bijvoorbeeld in een gebeurtenishandler voor een muisklik of een toetsaanslag). Als u deze methode op een ander moment aanroept, wordt een uitzondering gegenereerd in Flash Player.
In Adobe AIR is de inhoud in de beveiligingssandbox
van de toepassing (inhoud die met de AIR-toepassing is geïnstalleerd) echter niet beperkt tot deze beveiligingsbeperkingen.
Lees voor meer informatie over beveiliging het onderwerp Security in het Flash Player Developer Center.
Wanneer u een bestand downloadt met deze methode, wordt het bestand gemarkeerd als gedownload op besturingssystemen met een dergelijke markeringsfunctie:
- Windows XP service pack 2 en later en op Windows Vista
- Mac OS 10.5 en later
Op sommige besturingssystemen, zoals Linux, worden gedownloade bestanden niet gemarkeerd.
Als u publiceert naar Flash Player 10, kan er altijd maar één van de volgende bewerkingen actief zijn omdat er nieuwe functionaliteit is toegevoegd aan Flash Player: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Als niet aan deze voorwaarde wordt voldaan, genereert Flash Player een runtime-fout (code 2174). Gebruik FileReference.cancel()
om een actieve bewerking te stoppen. Deze beperking geldt alleen voor Flash Player 10. Deze beperking ten aanzien van gelijktijdige beperkingen geldt dus niet voor eerdere versies van Flash Player.
Het Adobe AIR-dialoogvenster waarin u bestanden kunt downloaden wordt niet altijd weergegeven vóór vensters die het eigendom zijn van een ander venster (vensters waarvan de eigenschap owner
een waarde heeft die niet gelijk is aan null). Als u problemen wilt voorkomen met de volgorde waarin vensters worden weergegeven, moet u vensters met een eigenaar verbergen voordat u deze methode aanroept.
Parameters
request:URLRequest — Het object URLRequest. De eigenschap url van het object URLRequest moet de URL bevatten van het bestand dat naar de lokale computer wordt gedownload. Wanneer deze parameter null is, wordt een uitzondering gegenereerd. De eigenschap requestHeaders van het object URLRequest wordt genegeerd; aangepaste HTTP-aanvraagheaders worden niet ondersteund in uploads of downloads. Wanneer u parameters POST of GET naar de server wilt verzenden, stelt u de waarde van URLRequest.data in op uw parameters en stelt u URLRequest.method in op URLRequestMethod.POST of URLRequestMethod.GET .
Voor sommige browsers geldt voor URL-tekenreeksen een beperkte lengte. Tekenreeksen langer dan 256 tekens worden bij sommige browsers of servers mogelijk niet correct verwerkt. | |
defaultFileName:String (default = null ) — De standaardbestandsnaam die in het dialoogvenster wordt weergegeven voor het te downloaden bestand. Deze tekenreeks mag niet de volgende tekens bevatten: / \ : * ? " < > | %
Wanneer u deze parameter weglaat, wordt de bestandsnaam van de URL geparseerd en als standaard gebruikt. |
Gebeurtenissen
open: — Wordt verzonden wanneer een downloadbewerking begint.
| |
progress: — Wordt periodiek verzonden tijdens het downloaden van het bestand.
| |
complete: — Wordt verzonden wanneer het downloaden van het bestand is gelukt.
| |
cancel: — Wordt verzonden wanneer de gebruiker het dialoogvenster sluit.
| |
select: — Wordt verzonden wanneer de gebruiker in het dialoogvenster een bestand selecteert om te downloaden.
| |
securityError: — Wordt verzonden wanneer het downloaden mislukt als gevolg van een beveiligingsfout.
| |
ioError: — Verzonden voor een van de volgende redenen:
|
Gegenereerde uitzondering
IllegalOperationError — Wordt in de volgende situaties gegenereerd: 1) Een andere bladersessie wordt uitgevoerd. Er kan slechts een enkele bladersessie tegelijk worden uitgevoerd. 2) De aan request doorgegeven waarde bevat geen geldig pad of protocol. 3) De te downloaden bestandsnaam bevat niet-toegestane tekens. 4) Een instelling in het bestand mms.cfg van de gebruiker staat deze bewerking niet toe.
| |
SecurityError — Lokale niet-vertrouwde inhoud mag niet communiceren met internet. U kunt deze situatie vermijden door dit SWF-bestand opnieuw te classificeren als lokaal-met-netwerk of vertrouwd. Deze uitzondering wordt gegenereerd samen met een bericht met vermelding van de bestandsnaam en de URL die niet toegankelijk zijn vanwege lokale bestandsbeveiligingsbeperkingen.
| |
SecurityError — U kunt geen verbinding maken met algemeen gereserveerde poorten. Zie "Netwerk-API's beperken" in de Adobe ActionScript 3.0-ontwikkelaarsgids voor een volledige lijst van geblokkeerde poorten.
| |
ArgumentError — Wanneer url.data van het type ByteArray is, wordt een uitzondering gegenereerd. In combinatie met de methoden FileReference.upload() en FileReference.download() kan url.data alleen van het type URLVariables of String zijn.
| |
MemoryError — Deze fout kan om de volgende redenen optreden: 1) Flash Player kan de parameter URLRequest.data niet omzetten van UTF8 in MBCS. Deze fout treedt op wanneer het object URLRequest dat is doorgegeven aan de methode FileReference.download() een GET-bewerking uitvoert en als System.useCodePage is ingesteld op true . 2) Flash Player kan geen geheugen voor de POST -gegevens toewijzen. Deze fout treedt op wanneer het object URLRequest dat wordt doorgegeven aan de methode FileReference.download() een bewerking POST uitvoert.
| |
Error — Als de methode niet wordt aangeroepen in reactie op een gebruikersactie, zoals het klikken met de muis of het indrukken van een toets.
|
Verwante API-elementen
FileReference.browse()
FileReferenceList.browse()
FileReference.upload()
FileReference.save()
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
download
getoond. Om dit voorbeeld te kunnen uitvoeren, wijzigt u de eigenschap downloadURL.url
zodanig dat deze naar een feitelijk bestaand domein en bestand verwijst, en niet naar de fictieve voorbeeld-URL http://www.[yourDomain].com/SomeFile.pdf. Wellicht moet u ook het SWF-bestand compileren met Local Playback Security ingesteld op Access Network Only of moet u beveiligingsinstellingen in Flash Player aanpassen om voor dit bestand netwerktoegang mogelijk te maken.
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 | () | methode |
public function load():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Start het laden van een lokaal bestand dat door een gebruiker is geselecteerd. Hoewel voor Flash Player geen beperkingen gelden op de grootte van bestanden die u kunt uploaden, downloaden, laden of opslaan, biedt de speler officieel ondersteuning voor bestanden van maximaal 100 MB. Voor inhoud die in Flash Player wordt uitgevoerd, moet u de methode FileReference.browse()
of FileReferenceList.browse()
aanroepen voordat u de methode load()
aanroept. Inhoud die in AIR wordt uitgevoerd in de toepassingssandbox, kan echter de methode load()
van een object File aanroepen zonder eerste de methode browse()
aan te roepen. (De klasse File van AIR is een uitbreiding van de klasse FileReference.)
Listeners ontvangen gebeurtenissen waarmee de voortgang of het al dan niet slagen van het laden wordt aangegeven. Hoewel u het object FileReferenceList kunt gebruiken om gebruikers meerdere bestanden te laten selecteren om te laden, moet u de bestanden één voor één laden. Doorloop de array FileReferenceList.fileList
van FileReference-objecten om de bestanden één voor één te laden.
Adobe AIR bevat ook de FileStream-klasse, waarmee u meer opties hebt voor het lezen van bestanden.
De functies FileReference.upload()
, FileReference.download()
, FileReference.load()
en FileReference.save()
zijn niet-blokkerend. Deze functies worden geretourneerd nadat ze zijn aangeroepen, voordat de bestandsoverdracht is voltooid. Wanneer het FileReference-object buiten bereik treedt, wordt bovendien elke transactie met dat object die nog niet is voltooid, geannuleerd zodra het object buiten bereik is. Zorg ervoor dat het FileReference-object binnen bereik blijft gedurende de tijd dat het uploaden, downloaden, laden of opslaan naar verwachting zal duren.
Als het laden van het bestand is geslaagd, wordt de inhoud opgeslagen als een bytearray in de eigenschap data
van het object FileReference.
De volgende beveiligingsoverwegingen zijn van toepassing:
- Laden is niet toegestaan wanneer het aanroepende SWF-bestand zich in een niet-vertrouwde lokale sandbox bevindt.
- Standaard wordt toegang tussen sandboxen geweigerd. Websites kunnen toegang tot een bron toestaan door een bestand met interdomeinbeleid toe te voegen.
- U kunt voorkomen dat een bestand deze methode gebruikt door de parameter
allowNetworking
in te stellen van de tagsobject
enembed
op de HTML-pagina die de SWF-inhoud bevat.
Deze beperkingen zijn echter niet van toepassing op AIR-inhoud in de beveiligingssandbox van de toepassing.
Let erop dat wanneer u naar Flash Player 10 of AIR 1.5 publiceert, slechts een van de volgende bewerkingen tegelijk actief kan zijn: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Als niet aan deze voorwaarde wordt voldaan, genereert de toepassing een runtimefout (code 2174). Gebruik FileReference.cancel()
om een actieve bewerking te stoppen. Deze beperking geldt alleen voor Flash Player 10 en AIR 1.5. Deze beperking voor meerdere gelijktijdige bewerkingen geldt niet voor eerdere versies van Flash Player of AIR.
Het Adobe AIR-dialoogvenster waarin u kunt bladeren door bestanden wordt niet altijd weergegeven vóór vensters die het eigendom zijn van een ander venster (vensters waarvan de eigenschap owner
een waarde heeft die niet gelijk is aan null). Als u problemen wilt voorkomen met de volgorde waarin vensters worden weergegeven, moet u vensters met een eigenaar verbergen voordat u deze methode aanroept.
Gebeurtenissen
open: — Wordt verzonden wanneer een laadbewerking begint.
| |
progress: — Wordt periodiek verzonden tijdens het laden van het bestand.
| |
complete: — Wordt verzonden wanneer het laden van het bestand is voltooid.
| |
ioError: — Wordt geactiveerd als het laden mislukt als gevolg van een invoer-/uitvoerfout terwijl de toepassing het bestand leest of schrijft.
|
Gegenereerde uitzondering
IllegalOperationError — Wordt in de volgende situaties gegenereerd: 1) Een andere bladersessie van FileReference of FileReferenceList wordt uitgevoerd. Er kan slechts een enkele bladersessie tegelijk worden uitgevoerd. 2) Een instelling in het bestand mms.cfg van de gebruiker staat deze bewerking niet toe.
| |
MemoryError — Deze fout kan optreden als de toepassing geen geheugen voor het bestand kan toewijzen. Het bestand is mogelijk te groot of er is onvoldoende geheugen.
|
Verwante API-elementen
FileReferenceList.browse()
FileReference.data
FileReferenceList.fileList
FileReference.save()
FileStream
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | methode |
public function requestPermission():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 24.0 |
Hiermee wordt toestemming gevraagd voor toegang tot het bestandssysteem.
Gebeurtenissen
PermissionStatus: — wordt verzonden wanneer de aangevraagde toestemming door de gebruiker wordt verleend/geweigerd.
|
save | () | methode |
public function save(data:*, defaultFileName:String = null):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Opent een dialoogvenster waarmee de gebruiker een bestand in het lokale bestandssysteem kan opslaan. Hoewel voor Flash Player geen beperkingen gelden op de grootte van bestanden die u kunt uploaden, downloaden, laden of opslaan, biedt de speler officieel ondersteuning voor bestanden van maximaal 100 MB.
Met de methode save()
wordt eerst een dialoogvenster van het besturingssysteem geopend, waarin de gebruiker wordt gevraagd een bestandsnaam in te voeren en een locatie op de lokale computer te selecteren om het bestand op te slaan. Wanneer de gebruiker een locatie selecteert en de opslag bevestigt (bijvoorbeeld door op Opslaan te klikken), wordt het opslagproces gestart. Listeners ontvangen gebeurtenissen die de voortgang, het voltooien of mislukken van het opslaan aangeven. Wanneer u de status van het dialoogvenster en het opslaan wilt controleren na het aanroepen van save()
, moet uw code luisteren naar gebeurtenissen zoals cancel
, open
, progress
en complete
.
Adobe AIR bevat ook de FileStream-klasse, waarmee u meer opties hebt om bestanden lokaal op te slaan.
De functies FileReference.upload()
, FileReference.download()
, FileReference.load()
en FileReference.save()
zijn niet-blokkerend. Deze functies worden geretourneerd nadat ze zijn aangeroepen, voordat de bestandsoverdracht is voltooid. Wanneer het FileReference-object buiten bereik treedt, wordt bovendien elke transactie met dat object die nog niet is voltooid, geannuleerd zodra het object buiten bereik is. Zorg ervoor dat het FileReference-object binnen bereik blijft gedurende de tijd dat het uploaden, downloaden, laden of opslaan naar verwachting zal duren.
Wanneer het bestand is opgeslagen, worden de eigenschappen van het object FileReference gevuld met de eigenschappen van het lokale bestand. De gebeurtenis complete
wordt verzonden wanneer het opslaan is gelukt.
Er kan slechts een enkele sessie browse()
ofsave()
tegelijk worden uitgevoerd (omdat slechts een enkel dialoogvenster tegelijk kan worden weergegeven).
In Flash Player kunt u deze methode alleen aanroepen in reactie op een gebruikersgebeurtenis (bijvoorbeeld in een gebeurtenishandler voor een muisklik of een toetsaanslag). Als u deze methode op een ander moment aanroept, wordt een uitzondering gegenereerd in Flash Player. Deze beperking geldt niet voor AIR-inhoud in de toepassingssandbox.
Het Adobe AIR-dialoogvenster waarin u kunt bestanden kunt opslaan wordt niet altijd weergegeven vóór vensters die het eigendom zijn van een ander venster (vensters waarvan de eigenschap owner
een waarde heeft die niet gelijk is aan null). Als u problemen wilt voorkomen met de volgorde waarin vensters worden weergegeven, moet u vensters met een eigenaar verbergen voordat u deze methode aanroept.
Parameters
data:* — De gegevens die moeten worden opgeslagen. De gegevens kunnen diverse indelingen hebben en worden dienovereenkomstig afgehandeld:
| |
defaultFileName:String (default = null ) — De standaardbestandsnaam die in het dialoogvenster wordt weergegeven voor het bestand dat wordt opgeslagen. Deze tekenreeks mag niet de volgende tekens bevatten: / \ : * ? " < > | %
Als een File-object deze methode aanroept, is de bestandsnaam de naam van het bestand waarnaar het File-object verwijst. (De klasse File van AIR is een uitbreiding van de klasse FileReference.) |
Gebeurtenissen
open: — Wordt verzonden wanneer een downloadbewerking begint.
| |
progress: — Wordt periodiek verzonden tijdens het downloaden van het bestand.
| |
complete: — Wordt verzonden wanneer het downloaden van het bestand is gelukt.
| |
cancel: — Wordt verzonden wanneer de gebruiker het dialoogvenster sluit.
| |
select: — Wordt verzonden wanneer de gebruiker in het dialoogvenster een bestand selecteert om te downloaden.
| |
ioError: — Wordt verzonden als een invoer-/uitvoerfout optreedt terwijl het bestand wordt gelezen of overgebracht.
|
Gegenereerde uitzondering
IllegalOperationError — Wordt in de volgende situaties gegenereerd: 1) Een andere bladersessie wordt uitgevoerd. Er kan slechts een enkele bladersessie tegelijk worden uitgevoerd. 2) De te downloaden bestandsnaam bevat niet-toegestane tekens. 3) Een instelling in het bestand mms.cfg van de gebruiker staat deze bewerking niet toe.
| |
ArgumentError — Als data niet van het type ByteArray is en geen methode toString() heeft, wordt een uitzondering gegenereerd. Als data niet van het type XML is en geen methode toXMLString() heeft, wordt een uitzondering gegenereerd.
| |
Error — Als de methode niet wordt aangeroepen in reactie op een gebruikersactie, zoals het klikken met de muis of het indrukken van een toets.
| |
MemoryError — Deze fout kan optreden als Flash Player geen geheugen voor het bestand kan toewijzen. Het bestand is mogelijk te groot of er is onvoldoende geheugen.
|
Verwante API-elementen
FileReference.load()
FileReference.data
FileReference.upload()
FileReference.download()
FileStream
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
MyTextField
) gemaakt en een niet-bewerkbaar tekstveld (MyButtonField
) dat dient als een 'knop' waarmee wordt gereageerd op een muisklik. Een gebruiker kan het eerste tekstveld bewerken en op de knop klikken om de inhoud van het tekstveld op te slaan naar een lokaal bestand. De muisklikgebeurtenishandler clickhandler
gebruikt de methode FileReference.save()
(voor het FileReference-object MyFileReference
) om een dialoogvenster te openen op het huidige besturingssysteem van de gebruiker, zodat deze de inhoud kan opslaan naar een lokaal bestand met een naam die door de gebruiker wordt opgegeven.
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 | () | methode |
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Hiermee wordt het uploaden van het bestand naar een externe server gestart. Hoewel voor Flash Player geen beperkingen gelden op de grootte van bestanden die u kunt uploaden en downloaden, biedt de speler officieel ondersteuning voor het uploaden of downloaden van maximaal 100 MB. U moet de methode FileReference.browse()
of FileReferenceList.browse()
aanroepen voordat u deze methode aanroept.
Voor de Adobe AIR-bestandsklasse, die de FileReference-klasse uitbreidt, kunt u de upload()
-methode gebruiken om elk bestand te laden. Voor de FileReference-klasse (in Flash Player) moet de gebruiker eerst een bestand selecteren.
Listeners ontvangen gebeurtenissen die de voortgang, het voltooien of mislukken van de upload weergeven. Hoewel u gebruik kunt maken van het object FileReferenceList om gebruikers meerdere bestanden te laten selecteren om te uploaden, moet u de bestanden een voor een uploaden. Daarvoor doorloopt u de array van FileReferenceList.fileList
van objecten FileReference.
De functies FileReference.upload()
en FileReference.download()
zijn niet-blokkerend. Deze functies worden geretourneerd nadat ze zijn aangeroepen, voordat de bestandsoverdracht is voltooid. Wanneer het object FileReference buiten bereik treedt, wordt bovendien elke upload of download die voor dat object nog niet is voltooid, geannuleerd. Zorg ervoor dat het object FileReference binnen bereik blijft gedurende de tijd dat het uploaden of downloaden zal duren.
Het bestand wordt geüpload naar de URL die in de parameter url
wordt doorgegeven. De URL moet een serverscript zijn dat is geconfigureerd om uploads te accepteren. Flash Player uploadt bestanden met behulp van de HTTP-methode POST
. Het serverscript dat de upload afhandelt, moet een POST
-aanvraag verwachten met de volgende elementen:
Content-Type
vanmultipart/form-data
Content-Disposition
met standaard een kenmerkname
ingesteld op"Filedata"
en een kenmerkfilename
ingesteld op de naam van het oorspronkelijke bestand- De binaire inhoud van het bestand
U kunt geen verbinding maken met algemeen gereserveerde poorten. Zie "Netwerk-API's beperken" in de Adobe ActionScript 3.0-ontwikkelaarsgids voor een volledige lijst van geblokkeerde poorten.
Een voorbeeld van een POST
-aanvraag kunt u vinden bij de beschrijving van de parameter uploadDataFieldName
. U kunt parameters POST
of GET
naar de server verzenden met de methode upload()
. Zie de beschrijving van de parameter request
.
Wanneer de parameter testUpload
gelijk is aan true
en wanneer het te uploaden bestand groter is dan ongeveer 10 KB, verzendt Flash Player onder Windows eerst een POST
-testupload zonder inhoud voordat het echte bestand wordt geüpload om te controleren of de upload kan slagen. Vervolgens verzendt Flash Player een tweede POST
-bewerking met de feitelijke bestandsinhoud. Voor bestanden kleiner dan 10 KB voert Flash Player één POST
-upload uit met de feitelijk te uploaden bestandsinhoud. Flash Player onder Macintosh voert geen POST
-testuploads uit.
Opmerking: wanneer uw server verificatie vereist, kunnen alleen SWF-bestanden die in een browser worden uitgevoerd, met andere woorden, die de browserinsteekmodule of ActiveX-besturingselement gebruiken, een dialoogvenster weergeven waarin de gebruiker wordt gevraagd een gebruikersnaam en wachtwoord ter verificatie op te geven (alleen voor downloads). Uploaden met behulp van de insteekmodule of het ActiveX-besturingselement, of uploaden en downloaden met een zelfstandige of externe speler, mislukt.
Houd bij gebruik van deze methode rekening met het beveiligingsmodel van Flash Player:
- Laden is niet toegestaan wanneer het aanroepende SWF-bestand zich in een niet-vertrouwde lokale sandbox bevindt.
- Standaard wordt toegang tussen sandboxen geweigerd. Websites kunnen toegang tot een bron toestaan door een bestand met URL-beleid toe te voegen.
- U kunt voorkomen dat een SWF-bestand deze methode gebruikt door de parameter
allowNetworking
in te stellen van de tagsobject
enembed
op de HTML-pagina die de SWF-inhoud bevat.
In Adobe AIR is de inhoud in de application
-beveiligingssandbox (inhoud die met de AIR-toepassing is geïnstalleerd), echter niet beperkt tot deze beveiligingsbeperkingen.
Lees voor meer informatie over beveiliging het onderwerp Security in het Flash Player Developer Center.
Als u publiceert naar Flash Player 10, kan er altijd maar één van de volgende bewerkingen actief zijn omdat er nieuwe functionaliteit is toegevoegd aan Flash Player: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Als niet aan deze voorwaarde wordt voldaan, genereert Flash Player een runtime-fout (code 2174). Gebruik FileReference.cancel()
om een actieve bewerking te stoppen. Deze beperking geldt alleen voor Flash Player 10. Deze beperking ten aanzien van gelijktijdige beperkingen geldt dus niet voor eerdere versies van Flash Player.
Parameters
request:URLRequest — Het object URLRequest. De eigenschap url van het object URLRequest moet de URL bevatten van het serverscript dat is geconfigureerd om uploads via HTTP-aanroepen POST af te handelen. Voor sommige browsers geldt voor URL-tekenreeksen een beperkte lengte. Tekenreeksen langer dan 256 tekens worden bij sommige browsers of servers mogelijk niet correct verwerkt. Wanneer deze parameter null is, wordt een uitzondering gegenereerd. De eigenschap requestHeaders van het object URLRequest wordt genegeerd; aangepaste HTTP-requestheaders worden niet ondersteund in uploads of downloads.
De URL kan HTTP zijn of, voor beveiligde uploads, HTTPS. Wanneer u gebruikmaakt van HTTPS, neemt u een HTTPS-URL op in de parameter Wanneer u parameters | |
uploadDataFieldName:String (default = "Filedata ") — De veldnaam die voorafgaat aan de bestandsgegevens in de uploadbewerking POST . De waarde uploadDataFieldName moet een tekenreeks zijn die niet nul en niet leeg is. De standaardwaarde van uploadDataFieldName is "Filedata" , zoals u kunt zien in het voorbeeld hieronder van een POST -aanvraag:
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 ) — Een instelling voor het aanvragen van een testupload. Wanneer testUpload de waardetrue heeft, probeert Flash Player voor bestanden die groter zijn dan 10 KB een POST -testupload uit te voeren met 0 als Content-Length. Het doel van de testupload is te controleren of de daadwerkelijke bestandsupload en, indien van toepassing, serververificatie zal slagen. Een testupload is alleen beschikbaar voor Windows-spelers.
|
Gebeurtenissen
open: — wordt verzonden wanneer een uploadbewerking begint.
| |
progress: — wordt periodiek verzonden tijdens het uploaden van het bestand.
| |
complete: — wordt verzonden wanneer het uploaden van het bestand is voltooid.
| |
uploadCompleteData: — Wordt verzonden wanneer gegevens van de server zijn ontvangen nadat een bestandsupload is gelukt.
| |
securityError: — wordt verzonden wanneer het uploaden mislukt als gevolg van een beveiligingsfout.
| |
httpStatus: — wordt verzonden wanneer het uploaden mislukt door een HTTP-fout.
| |
httpResponseStatus: — Het uploaden wordt voltooid en de server retourneert een antwoord-URL en antwoordheaders.
| |
ioError: — Wordt in de volgende situaties opgeroepen:
|
Gegenereerde uitzondering
SecurityError — Lokale niet-vertrouwde SWF-bestanden mogen niet communiceren met internet. U kunt deze situatie vermijden door dit SWF-bestand opnieuw te classificeren als lokaal-met-netwerk of vertrouwd. Deze uitzondering wordt gegenereerd samen met een bericht met vermelding van de bestandsnaam en de URL die niet toegankelijk zijn.
| |
SecurityError — U kunt geen verbinding maken met algemeen gereserveerde poorten. Zie "Netwerk-API's beperken" in de Adobe ActionScript 3.0-ontwikkelaarsgids voor een volledige lijst van geblokkeerde poorten.
| |
IllegalOperationError — Wordt in de volgende situaties gegenereerd: 1) Een andere bladersessie van FileReference of FileReferenceList wordt uitgevoerd. Er kan slechts een enkele bladersessie tegelijk worden uitgevoerd. 2) De parameter URL is geen geldig pad of protocol. Bij het uploaden van bestanden moet gebruik worden gemaakt van HTTP, bij het downloaden van FTP of HTTP. 3) De parameter uploadDataFieldName is ingesteld op null . 4) Een instelling in het bestand mms.cfg van de gebruiker staat deze bewerking niet toe.
| |
ArgumentError — Wordt in de volgende situaties gegenereerd: 1) De parameter uploadDataFieldName is een lege tekenreeks. 2) url.data is van het type ByteArray. In combinatie met de methoden FileReference.upload() en FileReference.download() kan url.data alleen van het type URLVariables of String zijn. 3) In de AIR runtime (in de sandbox met toepassingsbeveiliging) is de methode van het URLRequest niet GET of POST (gebruik in plaats daarvan uploadEncoded() ).
| |
MemoryError — Deze fout kan om de volgende redenen optreden: 1) Flash Player kan de parameter URLRequest.data niet omzetten van UTF8 in MBCS. Deze fout treedt op wanneer het object URLRequest dat is doorgegeven aan FileReference.upload() een bewerking GET uitvoert en wanneer System.useCodePage is ingesteld op true . 2) Flash Player kan geen geheugen voor de POST -gegevens toewijzen. Deze fout treedt op wanneer het object URLRequest dat wordt doorgegeven aan FileReference.upload() een bewerking POST uitvoert.
|
Verwante API-elementen
uploadUnencoded | () | methode |
public function uploadUnencoded(request:URLRequest):void
Runtimeversies: | AIR 1.0 |
Start het uploaden van een bestand naar een URL zonder enige codering. Terwijl de methode upload()
het bestand codeert in een formulier-gegevensenvelop, geeft de methode uploadUnencoded()
de bestandsinhoud ongewijzigd door in het hoofdgedeelte van de HTTP-aanvraag. Gebruik de methode uploadUnencoded() als de gegevens die u wilt verzenden reeds zijn gecodeerd in een indeling die de ontvangende server begrijpt. U gebruikt de methode uploadeUnencoded()
doorgaans samen met de methode HTTP/WebDAV PUT
.
Parameters
request:URLRequest — Het object URLRequest. De eigenschap url van het object URLRequest moet de URL bevatten van het serverscript dat is geconfigureerd om uploads via HTTP-aanroepen POST af te handelen. Voor sommige browsers geldt voor URL-tekenreeksen een beperkte lengte. Tekenreeksen langer dan 256 tekens worden bij sommige browsers of servers mogelijk niet correct verwerkt. Wanneer deze parameter null is, wordt een uitzondering gegenereerd.
De URL kan HTTP zijn of, voor beveiligde uploads, HTTPS. Wanneer u gebruikmaakt van HTTPS, neemt u een HTTPS-URL op in de parameter Wanneer u parameters |
Gebeurtenissen
open: — wordt verzonden wanneer een uploadbewerking begint.
| |
progress: — wordt periodiek verzonden tijdens het uploaden van het bestand.
| |
complete: — wordt verzonden wanneer het uploaden van het bestand is voltooid.
| |
uploadCompleteData: — Wordt verzonden wanneer gegevens van de server zijn ontvangen nadat een bestandsupload is gelukt.
| |
securityError: — wordt verzonden wanneer het uploaden mislukt als gevolg van een beveiligingsfout.
| |
httpStatus: — wordt verzonden wanneer het uploaden mislukt door een HTTP-fout.
| |
httpResponseStatus: — Het uploaden wordt voltooid en de server retourneert een antwoord-URL en antwoordheaders.
| |
ioError: — Wordt in de volgende situaties opgeroepen:
|
Gegenereerde uitzondering
SecurityError — Lokale niet-vertrouwde SWF-bestanden mogen niet communiceren met internet. U kunt deze situatie vermijden door dit SWF-bestand opnieuw te classificeren als lokaal-met-netwerk of vertrouwd. Deze uitzondering wordt gegenereerd samen met een bericht met vermelding van de bestandsnaam en de URL die niet toegankelijk zijn.
| |
IllegalOperationError — Wordt in de volgende situaties gegenereerd: 1) Een andere bladersessie van FileReference of FileReferenceList wordt uitgevoerd. Er kan slechts een enkele bladersessie tegelijk worden uitgevoerd. 2) De parameter URL is geen geldig pad of protocol. De bestandsupload moet HTTP gebruiken.
|
Verwante API-elementen
cancel | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.CANCEL
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Wordt verzonden wanneer het uploaden en downloaden van een bestand via het bladerdialoogvenster wordt geannuleerd door de gebruiker. Flash Player verzendt deze gebeurtenis niet als de gebruiker het uploaden of downloaden op een andere manier annuleert (door de browser of de toepassing af te sluiten).
De constanteEvent.CANCEL
definieert de waarde van de eigenschap type
van een cancel
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Een verwijzing naar het object waarop de handeling wordt geannuleerd. |
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
cancel
getoond. Om dit voorbeeld te kunnen uitvoeren, wijzigt u de eigenschap downloadURL.url
zodanig dat deze naar een feitelijk bestaand domein en bestand verwijst, en niet naar de fictieve voorbeeld-URL http://www.[yourDomain].com/SomeFile.pdf. Wellicht moet u ook het SWF-bestand compileren met Local Playback Security ingesteld op Access Network Only of moet u beveiligingsinstellingen in Flash Player aanpassen om voor dit bestand netwerktoegang mogelijk te maken.
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 | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.COMPLETE
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Wordt verzonden wanneer het downloaden is voltooid of wanneer door het uploaden de HTTP-statuscode 200 wordt gegenereerd. Voor een bestandsdownload wordt deze gebeurtenis verzonden nadat Flash Player of Adobe AIR het gehele bestand naar schijf heeft gedownload. Voor een bestandsupload wordt deze gebeurtenis verzonden nadat Flash Player of Adobe AIR de HTTP-statuscode 200 van de ontvangende server heeft ontvangen.
De constanteEvent.COMPLETE
definieert de waarde van de eigenschap type
van een complete
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het netwerkobject dat klaar is met laden. |
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
complete
getoond. Om dit voorbeeld te kunnen uitvoeren, wijzigt u de eigenschap downloadURL.url
zodanig dat deze naar een feitelijk bestaand domein en bestand verwijst, en niet naar de fictieve voorbeeld-URL http://www.[yourDomain].com/SomeFile.pdf. Wellicht moet u ook het SWF-bestand compileren met Local Playback Security ingesteld op Access Network Only of moet u beveiligingsinstellingen in Flash Player aanpassen om voor dit bestand netwerktoegang mogelijk te maken.
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); } } }
Verwante API-elementen
httpResponseStatus | Gebeurtenis |
flash.events.HTTPStatusEvent
eigenschap HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, AIR 1.0 |
Wordt verzonden als een aanroep naar de methode upload()
of uploadUnencoded()
via HTTP toegang tot gegevens probeert te krijgen, en Adobe AIR de statuscode voor de aanvraag kan detecteren en retourneren.
httpStatus
, wordt de gebeurtenis httpResponseStatus
vóór eventuele responsgegevens bezorgd. Bovendien bevat de gebeurtenis httpResponseStatus
waarden voor de eigenschappen responseHeaders
en responseURL
(die ongedefinieerd zijn voor een httpStatus
-gebeurtenis). De gebeurtenis httpResponseStatus
(indien aanwezig) wordt verzonden vóór (en als aanvulling op) een gebeurtenis complete
of error
.
De constante HTTPStatusEvent.HTTP_RESPONSE_STATUS
definieert de waarde van de eigenschap type
van een httpResponseStatus
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
responseURL | De URL waar het antwoord vandaan komt. |
responseHeaders | De antwoordheaders die door het antwoord zijn geretourneerd, als een array van URLRequestHeader-objecten. |
status | De HTTP-statuscode die door de server wordt geretourneerd. |
redirected | Of de reactie het resultaat is van een omleiding. |
target | Het netwerkobject dat de HTTP-statuscode ontvangt. |
Verwante API-elementen
httpStatus | Gebeurtenis |
flash.events.HTTPStatusEvent
eigenschap HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Wordt verzonden wanneer een upload mislukt en er een HTTP-statuscode beschikbaar is die de fout beschrijft. De gebeurtenis httpStatus
wordt verzonden, gevolgd door een gebeurtenis ioError
.
De gebeurtenis httpStatus
wordt alleen verzonden bij mislukte uploads. In het geval van inhoud die in Flash Player wordt uitgevoerd, is deze gebeurtenis niet van toepassing op downloadproblemen. Wanneer een download mislukt vanwege een HTTP-fout, wordt de fout gerapporteerd als I/O-fout.
HTTPStatusEvent.HTTP_STATUS
definieert de waarde van de eigenschap type
van een httpStatus
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
status | De HTTP-statuscode die door de server wordt geretourneerd. |
target | Het netwerkobject dat de HTTP-statuscode ontvangt. |
Verwante API-elementen
ioError | Gebeurtenis |
flash.events.IOErrorEvent
eigenschap IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Wordt verzonden wanneer de upload of download mislukt. Een bestandsoverdracht kan om een van de volgende redenen mislukken:
- Er is een input/output-fout opgetreden terwijl de speler het bestand las, schreef of verzond.
- Het SWF-bestand probeert een bestand te uploaden dat verificatie vereist (bijvoorbeeld een gebruikersnaam en wachtwoord). Tijdens het uploaden bieden Flash Player en Adobe AIR gebruikers niet de mogelijkheid een wachtwoord in te voeren. Wanneer een SWF-bestand een bestand probeert te uploaden naar een server die verificatie vereist, mislukt de upload.
- Het SWF-bestand probeert binnen de zelfstandige of externe speler een bestand te downloaden vanaf een server die verificatie vereist. Tijdens het downloaden bieden de zelfstandige en externe spelers gebruikers niet de mogelijkheid wachtwoorden in te voeren. Wanneer een SWF-bestand in deze spelers een bestand probeert te downloaden naar een server die verificatie vereist, mislukt de download. Het downloaden van een bestand kan alleen slagen in het ActiveX-besturingselement, spelers die als insteekmodule aan de browser zijn toegevoegd en de Adobe AIR runtime.
- De waarde die wordt doorgegeven aan de parameter
url
in de methodeupload()
, bevat een ongeldig protocol. Geldige protocollen zijn HTTP en HTTPS.
Belangrijk: alleen toepassingen die in een browser worden uitgevoerd, met andere woorden, die de browserinsteekmodule of het ActiveX-besturingselement gebruiken, en inhoud die in Adobe AIR wordt uitgevoerd, kunnen een dialoogvenster weergeven waarin de gebruiker wordt gevraagd een gebruikersnaam en wachtwoord ter verificatie op te geven (alleen voor downloads). Uploaden met behulp van de insteekmodule of de Flash Player-versie met ActiveX-besturingslement en uploaden en downloaden met de zelfstandige of externe speler mislukt.
Definieert de waarde van de eigenschaptype
van een gebeurtenisobject ioError
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
errorID | Een referentienummer dat aan de specifieke fout is gekoppeld (alleen AIR). |
target | Het netwerkobject dat de invoer-/uitvoerfout ondervindt. |
text | Tekst die moet worden weergegeven als foutbericht. |
Verwante API-elementen
open | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.OPEN
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Wordt verzonden wanneer het uploaden of downloaden begint.
De constanteEvent.OPEN
definieert de waarde van de eigenschap type
van een open
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het netwerkobject dat de verbinding heeft geopend. |
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
download
getoond. Om dit voorbeeld te kunnen uitvoeren, wijzigt u de eigenschap downloadURL.url
zodanig dat deze naar een feitelijk bestaand domein en bestand verwijst, en niet naar de fictieve voorbeeld-URL http://www.[yourDomain].com/SomeFile.pdf. Wellicht moet u ook het SWF-bestand compileren met Local Playback Security ingesteld op Access Network Only of moet u beveiligingsinstellingen in Flash Player aanpassen om voor dit bestand netwerktoegang mogelijk te maken.
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); } } }
Verwante API-elementen
permissionStatus | Gebeurtenis |
flash.events.PermissionEvent
eigenschap PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 24.0 |
Wordt verzonden wanneer de toepassing toegang tot het bestandssysteem vraagt. Controleer de waarde van de eigenschap status
om te bepalen of de toestemming is verleend of geweigerd
Verwante API-elementen
progress | Gebeurtenis |
flash.events.ProgressEvent
eigenschap ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Wordt periodiek verzonden tijdens het uploaden of downloaden van het bestand. De gebeurtenis progress
wordt verzonden terwijl Flash Player bytes verzendt naar een server en wordt periodiek aangeroepen tijdens het verzenden, zelfs wanneer het verzenden uiteindelijk niet slaagt. U kunt vaststellen of het verzenden van bestanden is geslaagd door te luisteren naar de gebeurtenis complete
.
In sommige gevallen worden gebeurtenissen progress
niet ontvangen. Wanneer bijvoorbeeld het te verzenden bestand bijzonder klein is of wanneer het uploaden of downloaden zeer snel gaat, wordt mogelijk geen gebeurtenis progress
verzonden.
Voortgang van bestandsupload kan niet worden bepaald op Macintosh-platforms lager dan OS X 10.3. De gebeurtenis progress
wordt tijdens het uploaden aangeroepen, maar de waarde van de eigenschap bytesLoaded
van de gebeurtenis is -1. Dit geeft aan dat de voortgang niet kan worden bepaald.
type
van een gebeurtenisobject progress
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
bytesLoaded | Het aantal items of bytes dat wordt geladen wanneer de listener de gebeurtenis verwerkt. |
bytesTotal | Het totale aantal items of bytes dat uiteindelijk wordt geladen wanneer het laadproces is voltooid. |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het object dat de voortgang rapporteert. |
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
progress
getoond. Om dit voorbeeld te kunnen uitvoeren, wijzigt u de eigenschap downloadURL.url
zodanig dat deze naar een feitelijk bestaand domein en bestand verwijst, en niet naar de fictieve voorbeeld-URL http://www.[yourDomain].com/SomeFile.pdf. Wellicht moet u ook het SWF-bestand compileren met Local Playback Security ingesteld op Access Network Only of moet u beveiligingsinstellingen in Flash Player aanpassen om voor dit bestand netwerktoegang mogelijk te maken.
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); } } }
Verwante API-elementen
securityError | Gebeurtenis |
flash.events.SecurityErrorEvent
eigenschap SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Wordt verzonden wanneer een aanroep van de methode FileReference.upload()
of FileReference.download()
een bestand naar een server probeert te uploaden of een bestand van de server probeert te downloaden dat zich buiten de beveiligingssandbox van de aanroeper bevindt. De waarde van de eigenschap text die een beschrijving geeft van de specifieke fout die optrad, is doorgaans "securitySandboxError"
. Het aanroepende SWF-bestand heeft mogelijk geprobeerd toegang te verkrijgen tot een SWF-bestand buiten het domein, waarvoor het geen toestemming heeft. U kunt proberen deze fout te verhelpen door een bestand met URL-beleid te gebruiken.
In Adobe AIR zijn deze beveiligingsbeperkingen niet van toepassing op inhoud in de sandbox met toepassingsbeveiliging.
In Adobe AIR zijn deze beveiligingsbeperkingen niet van toepassing op inhoud in de sandbox met toepassingsbeveiliging.
De constanteSecurityErrorEvent.SECURITY_ERROR
definieert de waarde van de eigenschap type
van een gebeurtenisobject securityError
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het netwerkobject dat de beveiligingsfout rapporteert. |
text | Tekst die moet worden weergegeven als foutbericht. |
Verwante API-elementen
select | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.SELECT
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Wordt verzonden wanneer de gebruiker in het bladerdialoogvenster een bestand selecteert om te uploaden of downloaden. (Dit dialoogvenster wordt geopend bij het aanroepen van de methode FileReference.browse()
, FileReferenceList.browse()
of FileReference.download()
.) Wanneer de gebruiker een bestand selecteert en de handeling bevestigt (door bijvoorbeeld op OK te klikken), worden de eigenschappen van het object FileReference gevuld.
In het geval van inhoud die wordt uitgevoerd in Flash Player of buiten de sandbox met toepassingsbeveiliging in de Adobe AIR runtime, is de exacte werking van de select
-gebeurtenis afhankelijk van de methode die deze activeert. Wanneer de select
-gebeurtenis wordt verzonden na een browse()
-aanroep, kan Flash Player of de AIR-toepassing alle eigenschappen van het object FileReference lezen, omdat het door de gebruiker geselecteerde bestand zich op het lokale bestandssysteem bevindt. Wanneer de gebeurtenis select
plaatsvindt na het aanroepen van download()
, kan Flash Player of de AIR-toepassing alleen de eigenschap name
lezen omdat het bestand nog niet naar het lokale bestandssysteem is gedownload op het moment dat de gebeurtenis select
wordt verzonden. Wanneer het bestand is gedownload en de gebeurtenis complete
is verzonden, kan Flash Player of de AIR-toepassing alle andere eigenschappen van het object FileReference lezen.
Event.SELECT
definieert de waarde van de eigenschap type
van een select
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het object waarop een item is geselecteerd. |
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
select
getoond. Om dit voorbeeld te kunnen uitvoeren, wijzigt u de eigenschap uploadURL.url
zodanig dat deze naar een feitelijk bestaand domein en bestand verwijst en niet naar de fictieve voorbeeld-URL http://www.[yourDomain].com/SomeFile.pdf. Wellicht moet u ook het SWF-bestand compileren met Local Playback Security ingesteld op Access Network Only of moet u beveiligingsinstellingen in Flash Player aanpassen om voor dit bestand netwerktoegang mogelijk te maken. Wanneer u dit voorbeeld vanaf uw computer wilt uitvoeren, moet op uw server ook een crossdomain.xml-bestand beschikbaar zijn. Wanneer de functie ioErrorHandler()
wordt geactiveerd, moet u waarschijnlijk de geleverde uploadURL
vervangen door een geldige URL die is geconfigureerd om uploads te ontvangen.
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 | Gebeurtenis |
flash.events.DataEvent
eigenschap DataEvent.type =
flash.events.DataEvent.UPLOAD_COMPLETE_DATA
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9.0.28.0 |
Wordt verzonden nadat gegevens van de server zijn ontvangen nadat het uploaden is voltooid. Deze gebeurtenis wordt niet verzonden wanneer geen gegevens van de server worden geretourneerd.
Definieert de waarde van de eigenschaptype
van een gebeurtenisobject uploadCompleteData
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
data | De onbewerkte gegevens die door de server worden geretourneerd nadat het uploaden is voltooid. |
target | Het object FileReference dat de gegevens ontvangt nadat het uploaden is voltooid. |
Opmerking: om dit voorbeeld te kunnen uitvoeren, wijzigt u de eigenschap uploadURL.url zodanig dat deze naar een feitelijk bestaande URL verwijst en niet naar de fictieve voorbeeld-URL. De URL moet verwijzen naar het bestand yourUploadHandlerScript.cfm
in de hoofdwebmap van de opgegeven URL. Afhankelijk van uw configuratie moet u wellicht ook het SWF-bestand compileren met Local Playback Security ingesteld op Access Network Only of moet u beveiligingsinstellingen in Flash Player aanpassen om voor dit bestand netwerktoegang mogelijk te maken.
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); } } }
Wed Jun 13 2018, 11:42 AM Z