套件 | flash.net |
類別 | public final class FileFilter |
繼承 | FileFilter Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
FileReference.browse()
方法或 FileReferenceList.browse()
方法時顯示,或是在呼叫 File、FileReference 或 FileReferenceList 物件的 browse 方法時顯示。FileFilter 實體是當做選擇性 typeFilter
參數的值傳遞給方法。如果您使用 FileFilter 實體,就會篩選出 FileFilter 實體中並未指定的副檔名和檔案類型,也就是說,使用者無法選取這些副檔名和檔案類型。如果沒有任何 FileFilter 物件傳遞給方法,則所有檔案都會顯示在該對話方塊中。
您可以透過下列其中一種方式使用 FileFilter 實體:
- 只含有副檔名的說明
- 含有副檔名和 Macintosh 檔案類型的說明
這兩種格式無法在單一的 browse 方法呼叫內互換。您一次只能使用一種格式。
您可以傳遞一個或多個 FileFilter 實體給 browse 方法,如下所示:
var imagesFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png"); var docFilter:FileFilter = new FileFilter("Documents", "*.pdf;*.doc;*.txt"); var myFileReference:FileReference = new FileReference(); myFileReference.browse([imagesFilter, docFilter]);
或在 AIR 應用程式中:
var imagesFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png"); var docFilter:FileFilter = new FileFilter("Documents", "*.pdf;*.doc;*.txt"); var myFile:File = new File(); myFile.browseForOpen("Open", [imagesFilter, docFilter]);
FileFilter.extension
屬性的副檔名清單是用來篩選檔案瀏覽對話方塊中顯示的檔案。這份清單不會實際顯示在對話方塊中。若要讓使用者可看見這些檔案類型,您必須在說明字串和副檔名清單中列出這些檔案類型。說明字串會顯示在 Windows 和 Linux 的對話方塊中 (不適用於 Macintosh®)。如果您在 Macintosh 上提供 Macintosh 檔案類型的清單,便會使用這份清單來篩選檔案。如果沒有提供,將使用副檔名的清單。
屬性 | 定義自 | ||
---|---|---|---|
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
description : String
篩選的說明字串。 | FileFilter | ||
extension : String
副檔名的清單。 | FileFilter | ||
macType : String
Macintosh 檔案類型的清單。 | FileFilter |
方法 | 定義自 | ||
---|---|---|---|
會建立新的 FileFilter 實體。 | FileFilter | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object |
description | 屬性 |
description:String
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
篩選的說明字串。 此說明會顯示在對話方塊 (在呼叫 FileReference.browse()
或 FileReferenceList.browse()
時開啟) 中,供使用者查看。 此說明字串中包含一個字串 (例如 "Images (*.gif, *.jpg, *.png)"
),可協助指示使用者哪些檔案類型可上傳或下載。 請注意,此 FileReference 物件所支援的實際檔案類型會儲存在 extension
屬性中。
實作
public function get description():String
public function set description(value:String):void
extension | 屬性 |
extension:String
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
副檔名的清單。 這份清單會指出您要在檔案瀏覽對話方塊中顯示的檔案類型 (使用者看不見此清單,只能看見 description
屬性的值)。 extension
屬性含有以分號區隔的副檔名清單,每個副檔名前面都有一個萬用字元 (*),如下列字串所示:"*.jpg;*.gif;*.png"
。
實作
public function get extension():String
public function set extension(value:String):void
macType | 屬性 |
macType:String
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
Macintosh 檔案類型的清單。 這份清單會指出您要在檔案瀏覽對話方塊中顯示的檔案類型 (使用者看不見此清單,只能看見 description
屬性的值)。 macType
屬性含有 Macintosh 的檔案類型清單 (以分號做區隔),如下列字串所示: "JPEG;jp2_;GIFF"
。
實作
public function get macType():String
public function set macType(value:String):void
FileFilter | () | 建構函式 |
public function FileFilter(description:String, extension:String, macType:String = null)
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
會建立新的 FileFilter 實體。
參數description:String — 當使用者選取上傳檔案時,顯示的說明字串。
| |
extension:String — 副檔名的清單,指出當使用者選取上傳檔案時所顯示的檔案格式。
| |
macType:String (default = null ) — Macintosh 檔案類型的清單,指出當使用者選取上傳檔案時所顯示的檔案類型。如果沒有傳遞任何值,此參數就會設定為 null 。
|
範例 ( 如何使用本範例 )
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); }
Tue Jun 12 2018, 03:47 PM Z