FileFilter
FileFilter类用于指示在调用 FileReference.browse() 方法、FileReferenceList.browse() 方法或调用 File、FileReference 或 FileReferenceList 对象的 browse 方法时显示的文件浏览对话框中显示用户系统上的哪些文件。
FileFilter 实例作为可选 typeFilter 参数的值传递给该方法:
如果使用 FileFilter 实例,则会滤除 FileFilter 实例中未指定的扩展名和文件类型,即用户无法选择这些类型;
如果未向方法传递任何 FileFilter 对象,则对话框中将显示所有文件。
可以采用以下两种方式之一使用 FileFilter 实例:
- 仅包含文件扩展名的描述
- 包含文件扩展名和Macintosh 文件类型的描述
这两种格式不能在一个 browse 方法调用中互换。必须使用其中一种格式。
可以向 browse 方法传递一个或多个 FileFilter 实例,如下所示:
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]);
FileReference
browse() 方法打开一个操作系统对话框,提示用户选择要上载的文件。FileReference.browse() 方法允许用户选择一个文件;FileReferenceList.browse() 方法允许用户选择多个文件。
属性:
data : ByteArray [只读] 成功调用 load() 方法之后代表所加载文件中的数据的 ByteArray 对象。
creationDate : Date [只读] 本地磁盘上文件的创建日期。
creator : String [只读] 文件的 Macintosh 创建者类型,此类型仅用于 Mac OS X 之前的 Mac OS 版本中。
extension : String [只读] 文件扩展名。
modificationDate : Date [只读] 本地磁盘上文件的上一次修改日期。
name : String [只读] 本地磁盘上的文件的名称。
size : Number [只读] 本地磁盘上文件的大小(以字节为单位)。
type : String [只读] 文件类型。
方法:
FileReference():创建新的 FileReference 对象。
browse(typeFilter:Array = null):Boolean显示一个文件浏览对话框,让用户选择要上载的文件。
load():void开始加载用户选择的本地文件。
cancel():void取消正在对该 FileReference 对象执行的任何上载或下载操作。
download(request:URLRequest, defaultFileName:String = null):void打开对话框,以允许用户从远程服务器下载文件。
save(data:*, defaultFileName:String = null):void打开一个对话框,允许用户将文件保存到本地文件系统。
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void开始将文件上载到远程服务器。
事件:
select:当用户从文件浏览对话框选择要上载或下载的文件时调度。
complete:当下载操作完成或上载操作生成 HTTP 状态代码 200 时调度。
cancel:当用户通过文件浏览对话框取消文件上载或下载时调度。
ioError:当上载或下载失败时调度。
httpResponseStatus:在 upload() 或 uploadUnencoded() 方法调用尝试通过 HTTP 访问数据,并且 Adobe AIR 可以检测并返回请求的状态代码时调度。
httpStatus:当上载失败并且存在可用来描述失败的 HTTP 状态代码时调度。
open:当上载或下载操作开始时调度。
progress:在文件上载或下载操作期间定期调度。
securityError:当对 FileReference.upload() 或 FileReference.download() 方法的调用尝试将文件上载到调用方安全沙箱外部的服务器,或是从调用方安全沙箱外部的服务器上下载文件时进行调度。
uploadCompleteData:成功上载并从服务器接收数据之后调度。