2011-02-15 124 views

回答

18

如果它是一個AIR應用程序,你可以這樣做:

var f : File = new File; 
f.addEventListener(Event.SELECT, onFolderSelected); 
f.browseForDirectory("Choose a directory"); 

如果它是一個純粹的AS3的應用程序,你不能瀏覽文件夾,你可以通過FileReference類瀏覽文件。

5

在網絡,多文件上傳,(對於單文件上傳,使用FileRefernce)

private var _refAddFiles:FileReferenceList; 
private function browse():void 
{ 
    _refAddFiles = new FileReferenceList(); 
    var fileFilter:FileFilter=new FileFilter("*.jpg","*.jpg;*.jpeg;"); 
    _refAddFiles.addEventListener(Event.SELECT, onSelectFile); 
    _refAddFiles.browse([fileFilter]); 
} 

<mx:Button click="browse"/> 

這將工作,並且要選擇以後做,

private function onSelectFile(event:Event):void 
{ 
    _arrUploadFiles = [ ]; 
    if (_refAddFiles.fileList.length >= 1) 
    {    
     for (var k:Number = 0; k < _refAddFiles.fileList.length; k++) 
     { 
      _arrUploadFiles.push({ name: _refAddFiles.fileList[k].name, 
            file: _refAddFiles.fileList[k]}); 
     } 
    } 

} 
3

這是什麼快速功能設定爲在Flex中創建一個很好的文件夾瀏覽器:

private var file:File = new File(); 

private function pickFile(event:MouseEvent):void { 
    file.addEventListener(Event.SELECT, openFile);    
    file.browseForDirectory("Select folder..."); 
} 

private function openFile(event:Event):void{ 
    folderPath.text = file.nativePath; 
} 

的與FO第一功能的交易第二個使用完整文件夾路徑填充文本輸入。

HOWTO:

在舞臺上,創建一個簡單的mx:按鈕和呼叫添加到pickFile()函數click事件:

<mx:Button click="{pickFile(event);}" /> 

然後,把還對舞臺的MX:TextInput組件,選擇後顯示的文件夾路徑:

<mx:TextInput id="folderPath" editable="false" /> 

這種方式,你有一個按鈕,以顯示SY點擊詞幹文件夾瀏覽器和文本輸入,以在選擇後顯示完整文件夾路徑。

爲了提高按鈕的樣子,你可以嵌入一個很好的文件夾圖標:-)

只是我2C。 :-)