23.5.过滤浏览对话框显示的文件

问题
我想让浏览对话框只显示特定类型的文件
解决办法
传递一个FileFilter对象数组作为browse( )方法参数
讨论
默认下browse( )方法打开的对话框显示用户系统中的所有文件,可以通过设置过滤器只显示特定类型的文件,比如只显示图形文件或文本文件,设置的方法是把flash.net.FileFilter对象数组作为参数传递给browse( )方法。

FileFilter构造器至少需要两个参数:
第一个参数决定在下拉列表中显示什么文件类型:
第二个参数决定显示的文件扩展名。

多个文件扩展名需用分号分开,如下面的例子只显示三种类型的图形文件:
+展开
-ActionScript
var fileFilter:FileFilter = new FileFilter("Images""*.png;*.gif;*.jpg");

可以在调用browse( )方法时进行过滤设置:
+展开
-ActionScript
fileReference.browse([fileFilter]);

下面的代码只设置了一个过滤器,还可以一次传入多个过滤器,如:
+展开
-ActionScript
var fileFilter1:FileFilter = new FileFilter("Images""*.png;*.gif;*.jpg");
var fileFilter2:FileFilter = new FileFilter("Documents""*.txt;*.doc;*.pdf;*.rtf");
var fileFilter3:FileFilter = new FileFilter("Archives""*.zip;*.tar;*.hqx");
var fileFilter4:FileFilter = new FileFilter("All""*.*");
_fileReference.browse([fileFilter1, fileFilter2, fileFilter3, fileFilter4]);

在设置过滤器后,调用browse( )方法可能会抛出ArgumentError异常,这是由于FileFilter对象的格式错误造成的:文件过滤器同样适用于FileReferenceList 对象的browse( )方法

加支付宝好友偷能量挖...


评论(0)网络
阅读(73)喜欢(0)flash/flex/fcs/AIR