了解某人,如何在Adobe FLEX中创建“浏览文件夹”对话框?这有可能吗?
感谢名单。
答案 0 :(得分:19)
如果是Air应用程序,您可以这样做:
var f : File = new File;
f.addEventListener(Event.SELECT, onFolderSelected);
f.browseForDirectory("Choose a directory");
如果它是纯粹的As3应用程序,则无法浏览文件夹,只需通过FileReference
类浏览文件。
答案 1 :(得分:5)
在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]});
}
}
}
答案 2 :(得分: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;
}
第一个函数处理文件夹浏览器,第二个函数使用完整文件夹路径填充文本输入。
<强> HOWTO:强>
在舞台上,创建一个简单的mx:按钮,并为click事件添加对pickFile()函数的调用:
<mx:Button click="{pickFile(event);}" />
然后,在舞台上放置一个mx:TextInput组件,以便在选择后显示文件夹路径:
<mx:TextInput id="folderPath" editable="false" />
通过这种方式,您可以单击按钮以显示系统文件夹浏览器,并选择一个文本输入以显示选择后的完整文件夹路径。
要改善按钮外观,可以嵌入一个漂亮的文件夹图标: - )
只是我的2c。 : - )