包 | air.desktop |
类 | public class URLFilePromise |
继承 | URLFilePromise EventDispatcher Object |
实现 | IFilePromise |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
URLFilePromise 类可使用 URLStream 和 URLRequest 对象作为数据源实现 IFilePromise 接口。实现可为使用 HTTP 或 URLStream 类支持的其他协议检索的文件提供拖放支持。
创建 URL file promise:
- 构建并初始化一个或多个 URLFilePromise 对象。
- 将 URLFilePromise 对象添加到数组。
- 使用 ClipboardFormat
FILE_PROMISE_LIST
为新 Clipboard 对象添加数组。 - 响应用户手势,调用 NativeDragManager
startDrag()
方法,传递包含 file promise 数组的 Clipboard 对象。
当用户完成拖动操作时,运行时将下载每个 file promise 的数据。访问由 URLFilePromise 对象的 request
属性指定的 URL 上的数据,并将其保存到在 relativePath
属性中指定的文件中。文件保存到放置位置的相对位置。因此,如果相对路径是 foo/bar.txt
,并且文件承诺放置到 home
目录下,则创建的文件的位置是:home/foo/bar.txt
。当发生错误时,不会创建文件。
若要支持不能通过 URLStream 类访问的数据源,请实现 IFilePromise 接口。
注意:AIR 运行时自动调用 IFilePromise 方法,open()
、close()
和 reportError()
。永远不应该通过应用程序逻辑调用这些方法。同样,由此 URLFilePromise 对象调度的 open
、progress
、complete
和 close
事件主要用于调试目的。应用程序不需要响应这些事件。
此类包含在 aircore.swc 文件中。创建 Adobe® AIR™ 项目时,Adobe® Flash™ Builder 将自动加载此类。Adobe® Flex™ SDK 也包含此 aircore.swc 文件,当您使用 Flex SDK 编译应用程序时应包含此文件。
要在 Adobe ® Flash ® Professional(CS4 或更高版本)中使用 air.desktop 包:
- 选择“文件”>“发布设置”命令。
- 在 Flash 面板中,单击 ActionScript 3.0 对应的“设置”按钮。选择“库路径”。
- 单击“浏览到 SWC 文件”按钮。浏览到 Adobe Flash Professional 安装文件夹中的 Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc 文件。
- 单击“确定”按钮。
- 向 ActionScript 3.0 代码添加以下
import
语句:import air.desktop.*;
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
isAsync : Boolean [只读]
表示资源数据是否异步可用。 | URLFilePromise | ||
relativePath : String
已创建的文件的路径和文件名,相对于放置目标。 | URLFilePromise | ||
request : URLRequest
标识作为拖放操作结果复制的资源的 URLRequest。 | URLFilePromise |
方法 | 由以下参数定义 | ||
---|---|---|---|
创建 URLFilePromise 对象。 | URLFilePromise | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
在拖放操作期间,允许 AIR 运行时在适当时间关闭数据源。 | URLFilePromise | ||
将事件调度到事件流中。 | EventDispatcher | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
在拖放操作期间,允许 AIR 运行时在适当时间打开数据源。 | URLFilePromise | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
允许 AIR 运行时报告在拖放操作期间发生的错误。 | URLFilePromise | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
当文件数据已完全下载时进行调度。 | URLFilePromise | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
为 HTTP 请求报告响应头进行调度。 | URLFilePromise | |||
为 HTTP 请求报告请求状态代码进行调度。 | URLFilePromise | |||
当 IOError 阻止文件下载时进行调度。 | URLFilePromise | |||
当基础 URLStream 连接打开时进行调度。 | URLFilePromise | |||
当可从基础 URLStream 读取数据块时进行调度。 | URLFilePromise | |||
当安全错误阻止文件下载时调度。 | URLFilePromise |
isAsync | 属性 |
relativePath | 属性 |
request | 属性 |
request:URLRequest
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
标识作为拖放操作结果复制的资源的 URLRequest。
实现
public function get request():URLRequest
public function set request(value:URLRequest):void
URLFilePromise | () | 构造函数 |
public function URLFilePromise()
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
创建 URLFilePromise 对象。
使用此 URLFilePromise 对象之前必须设置 request
和 relativePath
属性。
close | () | 方法 |
public function close():void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
在拖放操作期间,允许 AIR 运行时在适当时间关闭数据源。
不要在您的应用程序逻辑中调用此函数。
open | () | 方法 |
public function open():IDataInput
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
在拖放操作期间,允许 AIR 运行时在适当时间打开数据源。
不要在您的应用程序逻辑中调用此函数。
返回IDataInput |
reportError | () | 方法 |
public function reportError(e:ErrorEvent):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
允许 AIR 运行时报告在拖放操作期间发生的错误。
URLFilePromise 对象将重新调度报告的任何错误事件。不要在您的应用程序逻辑中调用此函数。
参数
e:ErrorEvent |
complete | 事件 |
flash.events.Event
属性 Event.type =
flash.events.Event.COMPLETE
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
当文件数据已完全下载时进行调度。
注意:该 AIR 运行时使用此事件管理异步数据检索进程。通常,您的应用程序没有必要采取任何操作来响应此事件。
Event.COMPLETE
常量定义 complete
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 已完成加载的网络对象。 |
httpResponseStatus | 事件 |
flash.events.HTTPStatusEvent
属性 HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
为 HTTP 请求报告响应头进行调度。
与httpStatus
事件不同,httpResponseStatus
事件在传送任何响应数据之前传送。此外,httpResponseStatus
事件还包括 responseHeaders
和 responseURL
属性的值(对于 httpStatus
,这些属性未定义)。请注意,在发送任何 complete
或 error
事件之前还将发送 httpResponseStatus
(如果有)。
HTTPStatusEvent.HTTP_RESPONSE_STATUS
常量定义 httpResponseStatus
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
responseURL | 从中返回响应的 URL。 |
responseHeaders | 响应以 URLRequestHeader 对象的数组形式返回的响应标头。 |
status | 由服务器返回的 HTTP 状态代码。 |
redirected | 响应是否为重定向结果。 |
target | 接收 HTTP 状态代码的网络对象。 |
httpStatus | 事件 |
flash.events.HTTPStatusEvent
属性 HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
为 HTTP 请求报告请求状态代码进行调度。
HTTPStatusEvent.HTTP_STATUS
常量定义 httpStatus
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
status | 由服务器返回的 HTTP 状态代码。 |
target | 接收 HTTP 状态代码的网络对象。 |
ioError | 事件 |
flash.events.IOErrorEvent
属性 IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
当 IOError 阻止文件下载时进行调度。
定义ioError
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
errorID | 与特定错误关联的引用编号(仅限 AIR)。 |
target | 发生输入/输出错误的网络对象。 |
text | 要显示为错误消息的文本。 |
open | 事件 |
flash.events.Event
属性 Event.type =
flash.events.Event.OPEN
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
当基础 URLStream 连接打开时进行调度。
注意:该 AIR 运行时使用此事件管理异步数据检索进程。通常,您的应用程序没有必要采取任何操作来响应此事件。
Event.OPEN
常量用于定义 open
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 已打开连接的网络对象。 |
progress | 事件 |
flash.events.ProgressEvent
属性 ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
当可从基础 URLStream 读取数据块时进行调度。
注意:该 AIR 运行时使用此事件管理异步数据检索进程。通常,您的应用程序没有必要采取任何操作来响应此事件。
定义progress
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
bytesLoaded | 在侦听器处理事件时加载的项数或字节数。 |
bytesTotal | 如果加载进程成功,最终将加载的项目或字节总数。 |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 报告进度的对象。 |
securityError | 事件 |
flash.events.SecurityErrorEvent
属性 SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 2.0 |
当安全错误阻止文件下载时调度。
SecurityErrorEvent.SECURITY_ERROR
常量定义 securityError
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 报告安全错误的网络对象。 |
text | 要显示为错误消息的文本。 |
Tue Jun 12 2018, 11:04 AM Z