Adobe AIR Open FileIm vorigen Beispiel wurde vorgestellt, wie man mit Adobe AIR auf Dateien per Drag-and-Drop zugreift. Nun ein weiteres Beispiel, das stattdessen den Dialog "Datei öffnen" verwendet.

Flash – und somit AIR – hat mit File.browseForOpen eine Funktion, die den nativen Öffnen-Dialog des jeweiligen Betriebssysten startet. So lassen sich Dateien auf die Weise öffnen, wie es der Nutzer gewohnt ist. Die zur Verfügung stehende Dateiauswahl kann durch einen FileFilter anhand der Dateiendungen eingeschränkt werden.

Das Beispielprogramm hat einen Button, mit dem der "File open" Dialog aufgerufen wird. Der Namen der selektierten Datei wird nach der Auswahl in einem Textfeld ausgegeben.

AIR - Datei öffnen Beispiel

Der Code der Anwendung lautet:

Actionscript:
  1. import flash.filesystem.*;
  2. import flash.events.Event;
  3. import flash.net.FileFilter;
  4.  
  5. // neues File
  6. var myFile:File = new File();
  7.  
  8. // Filter für Dateiendungen
  9. var txtFilter:FileFilter = new FileFilter("Text", "*.txt;*.xml");
  10. var bildFilter:FileFilter = new FileFilter ("Bilder", "*.jpg; *.png");
  11.  
  12.  
  13.  
  14. function myOpenButton_CLICK(e:MouseEvent):void {
  15.    
  16.     try  {
  17.        
  18.         // Öffnen-Dialog von Flash aufrufen
  19.         myFile.browseForOpen("Bitte wählen Sie eine Datei", [txtFilter, bildFilter]);
  20.        
  21.         // event listener hinzufügen
  22.         //(funktion wird aufgerufen, wenn datei ausgewählt wurde)
  23.         myFile.addEventListener(Event.SELECT, fileSelected);
  24.     }
  25.    
  26.     catch (error:Error) {
  27.         trace(error.message);
  28.     }
  29.  
  30. }
  31.  
  32. // event listener für Öffnen-Button
  33. myOpenButton.addEventListener(MouseEvent.CLICK, myOpenButton_CLICK);
  34.  
  35.  
  36. function fileSelected(event:Event):void {
  37.  
  38.     // file in Variable abspeichern
  39.     var f:File = event.target as File;
  40.    
  41.     // Dateinamen anzeigen
  42.     myTextField.text = f.nativePath;
  43. }

Download: Quelldateien
Link: flash.filesystem.File (Livedocs / AS3 Language Reference)