Paket | flash.net |
Klass | public class FileReferenceList |
Arv | FileReferenceList EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Så här arbetar du med klassen FileReferenceList:
- Skapa en instans av klassen:
var myFileRef = new FileReferenceList();
- Anropa metoden
FileReferenceList.browse()
som öppnar en dialogrutan där användaren kan välja en eller flera filer som ska överföras:myFileRef.browse();
- När metoden
browse()
anropas blir egenskapenfileList
för objektet FileReferenceList ifyllt med en array med FileReference-objekt. - Anropa
FileReference.upload()
för varje element ifileList
-arrayen.
I klassen FileReferenceList ingår metoden browse()
och egenskapen fileList
vid arbete med flera filer. När ett anrop till FileReferenceList.browse()
körs pausas SWF-filuppspelning i fristående och externa versioner av Flash Player och i AIR för Linux och Mac OS X 10.1 och tidigare.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
fileList : Array [skrivskyddad]
En array med FileReference-objekt. | FileReferenceList |
Metod | Definieras med | ||
---|---|---|---|
Skapar ett nytt FileReferenceList-objekt. | FileReferenceList | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Visar en dialogruta för filbläddring där användaren kan markera en eller flera lokala filer att överföra. | FileReferenceList | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
Händelse | Sammanfattning | Definieras med | ||
---|---|---|---|---|
[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt. | EventDispatcher | |||
Skickas när användaren stänger dialogrutan för filbläddring. | FileReferenceList | |||
[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt. | EventDispatcher | |||
Skickas när användaren markerar en eller flera filer att överföra från dialogrutan för filbläddring. | FileReferenceList |
fileList | egenskap |
fileList:Array
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
En array med FileReference
-objekt.
När metoden FileReferenceList.browse()
anropas och användaren har valt en eller flera filer i dialogrutan som öppnas med metoden browse()
fylls den här egenskapen i med en array med FileReference-objekt, där vart och ett motsvarar de filer som användaren har valt. Du kan sedan använda arrayen för att överföra varje fil via metoden FileReference.upload()
. Du måste överföra en fil åt gången.
Egenskapen fileList
fylls i på nytt varje gång browse() anropas i FileReferenceList-objektet.
Egenskaperna i FileReference
-objekt beskrivs i dokumentationen för klassen FileReference.
Implementering
public function get fileList():Array
Relaterade API-element
FileReferenceList | () | Konstruktor |
public function FileReferenceList()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Skapar ett nytt FileReferenceList-objekt. Ett FileReferenceList-objekt innehåller ingenting förrän du anropar metoden browse()
och användaren väljer en eller flera filer. När du anropar browse()
i FileReference-objektet blir egenskapen fileList
för objektet ifyllt med en array med FileReference
-objekt.
Relaterade API-element
browse | () | metod |
public function browse(typeFilter:Array = null):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Visar en dialogruta för filbläddring där användaren kan markera en eller flera lokala filer att överföra. Dialogrutan tillhör användarens operativsystem.
I Flash Player 10 och senare kan du endast anropa den här metoden som ett svar på en användarhändelse (i till exempel en händelsehanterare för en musklickning eller en tangentbordstryckningshändelse). Annars resulterar ett anrop till den här metoden i att ett fel genereras.
När du anropar den här metoden och användaren väljer filer blir egenskapen fileList
i FileReferenceList-objektet ifylld med en array med FileReference-objekt (ett för varje fil användaren väljer). Varje gång metoden FileReferenceList.browse() anropas återställs egenskapen FileReferenceList.fileList
till den fil eller de filer som valts av användaren i dialogrutan.
Med parametern typeFilter
kan du avgöra vilka filer som visas i dialogrutan.
Endast en av sessionerna FileReference.browse()
, FileReference.download()
eller FileReferenceList.browse()
kan utföras i taget med ett FileReferenceList-objekt (eftersom endast en dialogrutan kan öppnas i taget).
Parametrar
typeFilter:Array (default = null ) — En array med FileFilter-instanser som används för att filtrera filerna som visas i dialogrutan. Om du inte anger parametern visas alla filer. Mer information finns i klassen FileFilte.
|
Boolean — Returnerar true om parametrarna är giltiga och dialogrutan för filbläddring öppnas.
|
Händelser
select: — Anropas när användaren har valt en post för överföring från dialogrutan.
| |
cancel: — Anropas när användaren stänger dialogrutan genom att klicka på Avbryt eller stänga den.
|
Utlöser
IllegalOperationError — Genereras vid följande: 1) Någon annan bläddringssession med FileReference eller FileReferenceList pågår; endast en bläddringssession kan utföras i taget. 2) En inställning i användarens mms.cfg-fil förhindrar denna åtgärd.
| |
ArgumentError — Om arrayen typeFilter inte innehåller korrekt formaterade FileFilter-objekt genereras ett undantag. En mer detaljerad beskrivning av korrekt filterformatering finns i FileFilter-dokumentationen.
| |
Error — Om metoden inte anropas som svar på en användaråtgärd, som exempelvis en mushändelse eller tangenttryckningshändelse.
|
Relaterade API-element
cancel | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.CANCEL
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Skickas när användaren stänger dialogrutan för filbläddring. (Den här dialogrutan öppnas vid anrop av metoden FileReferenceList.browse()
, FileReference.browse()
eller FileReference.download()
.)
Event.CANCEL
-konstanten definierar värdet på type
-egenskapen i ett cancel
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | En referens till det objekt vars åtgärd avbryts. |
Relaterade API-element
select | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.SELECT
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Skickas när användaren markerar en eller flera filer att överföra från dialogrutan för filbläddring. (Den här dialogrutan öppnas vid anrop av metoden FileReferenceList.browse()
, FileReference.browse()
eller FileReference.download()
.) När användaren väljer en fil och bekräftar operationen (till exempel genom att klicka på Spara) fylls egenskaperna för FileReferenceList
-objektet i med de FileReference-objekt som representerar de filer användaren valde.
Event.SELECT
-konstanten definierar värdet på type
-egenskapen i ett select
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Objektet för vilket ett objekt har valts. |
Relaterade API-element
complete
som skickas efter varje överförd fil i objektet FileReferenceList. Händelsen LIST_COMPLETE
i klassen FileReferenceListExample skickas när alla filer i objektet FileReferenceList har överförts.
För att köra detta exempel sparar du ett skript som godkänner en filöverföring på http:/www.[dinDomän].com/dinUploadHandlerSkript.cfm. Beroende på SWF-filens plats och varthän du ska överföra filer kanske du även behöver kompilera SWF-filen med "Lokal uppspelningssäkerhet" angivet som "Använd bara nätverket" eller uppdatera Flash ® Players säkerhetsinställningar så att filen ges nätverksåtkomst. Om överföringsservern är fjärransluten och du kör denna exempelkod från din dator måste det finnas en crossdomain.xml-fil på servern.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.FileReferenceList; public class FileReferenceListExample extends Sprite { public static var LIST_COMPLETE:String = "listComplete"; public function FileReferenceListExample() { initiateFileUpload(); } private function initiateFileUpload():void { var fileRef:CustomFileReferenceList = new CustomFileReferenceList(); fileRef.addEventListener(FileReferenceListExample.LIST_COMPLETE, listCompleteHandler); fileRef.browse(fileRef.getTypes()); } private function listCompleteHandler(event:Event):void { trace("listCompleteHandler"); } } } import flash.events.*; import flash.net.FileReference; import flash.net.FileReferenceList; import flash.net.FileFilter; import flash.net.URLRequest; class CustomFileReferenceList extends FileReferenceList { private var uploadURL:URLRequest; private var pendingFiles:Array; public function CustomFileReferenceList() { uploadURL = new URLRequest(); uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm"; initializeListListeners(); } private function initializeListListeners():void { addEventListener(Event.SELECT, selectHandler); addEventListener(Event.CANCEL, cancelHandler); } public function getTypes():Array { var allTypes:Array = new Array(); allTypes.push(getImageTypeFilter()); allTypes.push(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 doOnComplete():void { var event:Event = new Event(FileReferenceListExample.LIST_COMPLETE); dispatchEvent(event); } private function addPendingFile(file:FileReference):void { trace("addPendingFile: name=" + file.name); pendingFiles.push(file); file.addEventListener(Event.OPEN, openHandler); file.addEventListener(Event.COMPLETE, completeHandler); file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); file.addEventListener(ProgressEvent.PROGRESS, progressHandler); file.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); file.upload(uploadURL); } private function removePendingFile(file:FileReference):void { for (var i:uint; i < pendingFiles.length; i++) { if (pendingFiles[i].name == file.name) { pendingFiles.splice(i, 1); if (pendingFiles.length == 0) { doOnComplete(); } return; } } } private function selectHandler(event:Event):void { trace("selectHandler: " + fileList.length + " files"); pendingFiles = new Array(); var file:FileReference; for (var i:uint = 0; i < fileList.length; i++) { file = FileReference(fileList[i]); addPendingFile(file); } } private function cancelHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("cancelHandler: name=" + file.name); } private function openHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("openHandler: name=" + file.name); } 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 { var file:FileReference = FileReference(event.target); trace("completeHandler: name=" + file.name); removePendingFile(file); } private function httpErrorHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("httpErrorHandler: name=" + file.name); } private function ioErrorHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("ioErrorHandler: name=" + file.name); } private function securityErrorHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("securityErrorHandler: name=" + file.name + " event=" + event.toString()); } }
Tue Jun 12 2018, 01:40 PM Z