apache-flex 如何在Adobe FLEX中创建“浏览文件夹”对话框?

fhity93d  于 2022-11-01  发布在  Apache
关注(0)|答案(3)|浏览(113)

知道有人,如何在Adobe FLEX中创建“浏览文件夹”对话框?这是可能的?
谢谢。

bpzcxfmw

bpzcxfmw1#

如果是Air应用程序,您可以执行以下操作:

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

如果它是一个纯As3应用程序,你不能浏览文件夹,你可以通过FileReference类浏览文件。

5ssjco0h

5ssjco0h2#

在Web中,对于多个文件上载,(对于单个文件上载,请使用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]});
        }
    }

}
pengsaosao

pengsaosao3#

这是一个快速函数集,用于在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;
}

第一个函数处理文件夹浏览器,第二个函数用完整的文件夹路径填充文本输入。

操作方法:

在舞台上,创建一个简单的mx:button,并为click事件添加对pickFile()函数的调用:

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

然后,在舞台上放置一个mx:TextInput组件,以显示选择后的文件夹路径:

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

通过这种方式,您可以单击一个按钮以显示系统文件夹浏览器,还可以输入文本以显示选择后的完整文件夹路径。
为了改善按钮的外观,你可以嵌入一个漂亮的文件夹图标:-)
只有我的2c。:-)

相关问题