FlashCS3.0 FileReference 文件操作类的用法详解(1)
更新时间:2023-05-30 12:07:01 阅读量: 实用文档 文档下载
- flashcs3下载推荐度:
- 相关推荐
包
类 public class FileReference
继承 FileReference EventDispatcher Object
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
FileReference 类提供了在用户计算机和服务器之间上载和下载文件的方法。 操作系统对话框会提示用户选择要上载的文件或用于下载的位置。 每个 FileReference 对象都引用用户磁盘上的一个文件并且具有一些属性,这些属性包含有关文件大小、类型、名称、创建日期、修改日期和创建者类型(仅限 Macintosh)的信息。
FileReference 实例的创建方法有两种:
当将 new 运算符与 FileReference 构造函数一起使用时:var myFileReference = new FileReference();
当调用 FileReferenceList.browse() 方法时,该方法将创建一个 FileReference 对象数组。
在上载操作期间,FileReference 对象的所有属性通过调用 FileReference.browse() 或 FileReferenceList.browse() 方法来填充。 在下载操作期间,name 属性在调度 select 事件时得到填充,所有其它属性在调度 complete 事件时得到填充。
browse() 方法打开一个操作系统对话框,提示用户选择要上载的文件。 FileReference.browse() 方法允许用户选择一个文件;FileReferenceList.browse() 方法允许用户选择多个文件。 成功调用 browse() 方法后,调用 FileReference.upload() 方法以每次上载一个文件。 FileReference.download() 方法提示用户提供文件的保存位置并开始从远程 URL 进行下载。
FileReference 类和 FileReferenceList 类不允许为 browse() 或 download() 生成的对话框设置默认文件位置。 对话框中显示的默认位置是最近浏览过的文件夹(如果可以确定该位置)或桌面。 这些类不允许对已传输的文件进行读取或写入。 它们也不允许启动上载或下载的 SWF 文件访问已上载或下载的文件或用户磁盘上文件的位置。
FileReference 类和 FileReferenceList 类也不提供用于身份验证的方法。 通过要求身份验证的服务器,您可以使用 Flash ? Player 浏览器插件下载文件,但上载(在所有播放器上)和下载(在独立播放器或外部播放器上)将失败。 对 FileReference 事件进行侦听可确定操作是否成功完成,并进行错误处理。
对于上载和下载操作,SWF 文件只能访问自己的域(包括跨域策略文件指定的任何域)内的文件。 如果启动上载或下载的 SWF 与文件服务器不在相同的域中,应将策略文件放到文件服务器上。
在对 FileReference.browse()、FileReferenceList.browse() 或 FileReference.download() 方法执行调用时,
SWF 文件回放将在用于 Linux 和 Mac OS X 10.1 及其早期版本操作系统的独立播放器和外部播放器上暂停。
如果未指定任何参数,则 Flash Player 会向服务器端脚本发送以下范例 HTTP POST 请求:
POST /handler.cfm HTTP/1.1
Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7ei4cH2ei4gL6 User-Agent: Shockwave Flash Host: Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“Filename“ MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“photo“; filename=“MyFile.jpg“ Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“Upload“ Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
如果用户指定参数 “api_sig“、“api_key“ 和 “auth_token“,Flash Player 将发送以下 HTTP POST 请求:
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7ei4cH2ei4gL6 User-Agent: Shockwave Flash Host: Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“Filename“ MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“api_sig“ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“api_key“ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“auth_token“ XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“photo“; filename=“MyFile.jpg“ Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name=“Upload“ Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
FileReferenceList 处理文件上载和下载
--------------------------------------------------------------------------------
公共 属性
隐藏继承的公共属性
显示继承的公共属性
属性 定义方
constructor : Object
对类对象或给定对象实例的构造函数的引用。 Object
creationDate : Date
[read-only] 本地磁盘上文件的创建日期。 FileReference
creator : String
[read-only] 文件的 Macintosh 创建者类型。 FileReference
modificationDate : Date
[read-only] 本地磁盘上文件的上一次修改日期。 FileReference
name : String
[read-only] 本地磁盘上的文件的名称。 FileReference
prototype : Object
[static] 对类或函数对象的原型对象的引用。 Object
size : uint
[read-only] 本地磁盘上文件的大小(以字节为单位)。 FileReference
type : String
[read-only] 文件类型。 FileReference
公共 方法
隐藏继承的公共方法
显示继承的公共方法
方法
定义方
FileReference()
创建新的 FileReference 对象。 FileReference
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priorit
y:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 EventDispatcher
browse(typeFilter:Array = null):Boolean
显示一个文件浏览对话框,让用户选择要上载的文件。 FileReference
cancel():void
取消正在对该 FileReference 对象执行的任何上载或下载操作。 FileReference
dispatchEvent(event:Event):Boolean
将事件调度到事件流中。 EventDispatcher
download(request:URLRequest, defaultFileName:String = null):void
打开对话框,以允许用户从远程服务器下载文件。 FileReference
hasEventListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 EventDispatcher
hasOwnProperty(name:String):Boolean
指示对象是否已经定义了指定的属性。 Object
isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。 Object
propertyIsEnumerable(name:String):Boolean
指示指定的属性是否存在、是否可枚举。 Object
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。 EventDispatcher
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。 Object
toString():String
返回指定对象的字符串表示形式。 Object
upload(request:URLRequest, uploadDataFieldName:String = “Filedata“, testUpload:Boolean = false):void
开始将用户选择的文件上载到远程服务器。 FileReference
valueOf():Object
返回指定对象的原始值。 Object
willTrigger(type:String):Boolean
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 EventDispatcher
事件
隐藏继承的事件
显示继承的事件
事件 摘要 定义方
activate Flash Player 获得操作系统焦点并变为活动状态时调度。 EventDispatcher
cancel 当用户通过文件浏览对话框取消文件上载或下载时调度。 FileReference
complete 当下载操作完成或上载操作生成 HTTP 状态代码 200 时调度。 FileReference
deactivate Flash Player 失去操作系统焦点并变为非活动状态时调度。 EventDispatcher
httpStatus 当上载失败并且存在可用来描述失败的 HTTP 状态代码时调度。 FileReference
ioError 当上载或下载失败时调度。 FileReference
open 当上载或下载操作开始时调度。 FileReference
progress 在文件上载或下载操作期间定期调度。 FileReference
securityEr
ror 当对 FileReference.upload() 或 FileReference.download() 方法的调用尝试将文件上载到调用方安全沙箱外部的服务器,或是从调用方安全沙箱外部的服务器上下载文件时进行调度。 FileReference
select 当用户从文件浏览
对话框选择要上载或下载的文件时调度。 FileReference
uploadCompleteData 成功上载并从服务器接收数据之后调度。 FileReference
属性详细信息
creationDate 属性
creationDate:Date [read-only]
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
本地磁盘上文件的创建日期。 如果未填充 FileReference 对象,则为获得此属性的值而执行的调用将返回 null。
实现
public function get creationDate():Date
引发
IllegalOperationError — 若 FileReference.browse()、FileReferenceList.browse() 或 FileReference.download() 方法未能成功调用,将引发异常,同时显示一条信息,指出函数的调用顺序不正确或先前调用未成功。 此时,creationDate 属性的值为 null。
IOError — 若不能访问文件信息,则会引发一个异常,同时显示一条信息,指出发生文件 I/O 错误。
另请参见
FileReference.browse()
creator 属性
creator:String [read-only]
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
文件的 Macintosh 创建者类型。 在 Windows 上,此属性为 null。 如果未填充 FileReference 对象,则为获得此属性的值而执行的调用将返回 null。
实现
public function get creator():String
引发
IllegalOperationError — 在 Macintosh 系统上,若 FileReference.browse()、FileReferenceList.browse() 或 FileReference.download() 方法未能成功调用,将引发异常,同时显示一条信息,指出函数的调用顺序不正确或先前调用未成功。 此时,creator 属性的值为 null。
另请参见
FileReference.browse()
处理文件上载和下载
modificationDate 属性
modificationDate:Date [read-only]
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
本地磁盘上文件的上一次修改日期。 如果未填充 FileReference 对象,则为获得此属性的值而执行的调用将返回 null。
实现
public function get modificationDate():Date
引发
IllegalOperationError — 若 FileReference.browse()、FileReferenceList.browse() 或 FileReference.download() 方法未能成功调用,将引发异常,同时显示一条信息,指出函数的调用顺序不正确或先前调用未成功。 此时,modificationDate 属性的值为 null。
IOError — 若不能访问文件信息,则会引发一个异常,同时显示一条信息,指出发生文件 I/O 错误。
另请参见
FileReference.browse()
name 属性
name:String [read-only]
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
本地磁盘上的文件的名称。 如果未填充 FileReference 对象,则为获得此属性的值而执行的调用将返回 null。
F
ileReference 对象的所有属性都通过调用 browse() 方法进行填充。 与其它 FileReference 属性不同,如果调用 download() 方法,则在调度 select 事件时将填充 name 属性。
实现
public function get name()
:String
引发
IllegalOperationError — 若 FileReference.browse()、FileReferenceList.browse() 或 FileReference.download() 方法未能成功调用,将引发异常,同时显示一条信息,指出函数的调用顺序不正确或先前调用未成功。 此时,name 属性的值为 null。
另请参见
FileReference.browse()
size 属性
size:uint [read-only]
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
本地磁盘上文件的大小(以字节为单位)。 如果 size 为 0,将引发异常。
实现
public function get size():uint
引发
IllegalOperationError — 若 FileReference.browse()、FileReferenceList.browse() 或 FileReference.download() 方法未能成功调用,将引发异常,同时显示一条信息,指出函数的调用顺序不正确或先前调用未成功。 此时,size 属性的值为 0。
IOError — 若无法打开或读取文件,或者在访问文件时遇到类似错误,将引发异常,同时显示一条信息,指明发生文件 I/O 错误。 此时,size 属性的值为 0。
另请参见
FileReference.browse()
type 属性
type:String [read-only]
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
文件类型。 在 Windows 上,此属性是文件扩展名。 在 Macintosh 上,此属性是由四个字符组成的文件类型。 如果未填充 FileReference 对象,则为获得此属性的值而执行的调用将返回 null。
实现
public function get type():String
引发
IllegalOperationError — 若 FileReference.browse()、FileReferenceList.browse() 或 FileReference.download() 方法未能成功调用,将引发异常,同时显示一条信息,指出函数的调用顺序不正确或先前调用未成功。 此时,type 属性的值为 null。
构造函数详细信息
FileReference () 构造函数
public 函数 FileReference()
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
创建新的 FileReference 对象。 在填充后,FileReference 对象表示用户本地磁盘上的文件。
另请参见
FileReference.browse()
方法详细信息
browse () 方法
public function browse(typeFilter:Array = null):Boolean
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
显示一个文件浏览对话框,让用户选择要上载的文件。 该对话框对于用户的操作系统来说是本机的。 用户可以选择本地计算机上的文件,也可以选择其它系统上的文件,例如,通过 Windows 上的 UNC 路径选择文件。
当调用此方法并且用户成功选择文件时,会使用该文件的属性填充此 FileReference 对象的属性。 以后每次调用 FileRefer
ence.browse() 方法时,FileReference 对象的属性都重置为用户在对话框中选择的文件。 每次只能执行一个 browse() 或 download() 会话(因为每次只能调用一个对话框)。
使用 typeFilter 参数,可决定对话框显示哪些文件。
参数 ty
peFilter:Array (default = null) — 一个 FileFilter 实例数组,用于过滤在对话框中显示的文件。 如果省略此参数,则显示所有文件。 有关详细信息,请参阅 FileFilter 类。
返回 Boolean — 如果参数有效并且打开了文件浏览对话框,则返回 true。 在以下情况下,browse 方法返回 false:未打开对话框;正在进行另一个浏览器会话;使用 typelist 参数,但未能在数组的任一元素中提供描述或扩展名字符串。
事件 select:Event — 当用户从浏览文件选择器成功选择了项目时调度。
cancel:Event — 当用户取消文件上载浏览窗口时调度。
引发 IllegalOperationError — 在以下情况下引发:1) 另一个 FileReference 或 FileReferenceList 浏览会话正在进行中;每次仅能执行一个文件浏览会话。 2) 用户 mms.cfg 文件中的某个设置禁止此操作。
ArgumentError — 如果 typeFilter 数组包含格式不正确的 FileFilter 对象,将引发异常。 有关 FileFilter 对象正确格式的信息,请参阅 FileFilter 类。
另请参见
select event
cancel event
FileReference.download()
FileReferenceList.browse()
处理文件上载和下载
cancel () 方法
public function cancel():void
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
取消正在对该 FileReference 对象执行的任何上载或下载操作。 调用此方法并不会调度 cancel 事件。仅在用户通过退出文件上载或下载对话框来取消操作时,才会调度该事件。
download () 方法
public function download(request:URLRequest, defaultFileName:String = null):void
语言版本 : ActionScript. 3.0
Player 版本 : Flash Player 9
打开对话框,以允许用户从远程服务器下载文件。 虽然 Flash Player 没有限制可上载或下载的文件的大小,但是播放器正式支持的上载或下载文件大小最大为 100 MB。
download() 方法首先打开一个操作系统对话框,让用户输入文件名并在本地计算机上选择用于保存文件的位置。 用户选择了位置并确认下载操作时(例如,单击“保存”)后,开始从远程服务器下载。 侦听器接收事件来指示下载的进度、成功或失败。 为了在调用 download() 后确定对话框和下载操作的状态,ActionScript. 代码必须对 cancel、open、progress 和 complete 等事件进行侦听。
FileReference.upload() 和 FileReference.download() 函数是非阻塞式的。 这些函数在调用它们之后即返回,而不会等待文件传输完成。 此外,若 FileReferenc
e 对象离开作用域,则对该对象尚未完成的上载或下载操作将在它离开作用域后被取消。 只要希望上载或下载操作继续,就应确保将 FileReference 对象保留在作用域中。
成功下载文件之后,将使用本地文件的属性填充 FileReference 对象的属性。 如果下载成功,将调度 com
plete 事件。
每次只能执行一个 browse() 或 download() 会话(因为每次只能调用一个对话框)。
此方法支持使用 HTTP 或 HTTPS 下载任何文件类型。
注意:如果服务器要求用户身份验证,则只有在浏览器中运行的 SWF 文件(即使用浏览器插件或 ActiveX 控件的文件)才可以提供对话框来提示用户输入用户名和密码以进行身份验证,并且只适用于下载。 对于使用插件或 ActiveX 控件进行的上载操作,以及使用独立或外部播放器进行的上载和下载操作,文件传输会失败。
使用此方法时,请考虑 Flash Player 安全模型:
如果执行调用的 SWF 文件在不受信任的本地沙箱中,则不允许进行加载操作。
默认行为是拒绝沙箱之间的访问。 网站可通过添加跨域策略文件来实现对资源的访问。
可以在包含 SWF 内容的 HTML 页中设置 object 和 embed 标签的 allowNetworking 参数,防止 SWF 文件使用此方法。
正在阅读:
FlashCS3.0 FileReference 文件操作类的用法详解(1)05-30
第讲三动词及定语从句05-22
房产测量规范GBT17986.1-2000(国家质量技术监督局,2000年2月22日)05-30
程裕祯版 中国文化要略笔记03-08
2018年棕刚玉微粉行业市场调研行情及投资前景预测分析报告(目录05-17
新课标四年级(下)科学复习题01-09
arthistory-教材-pkuarthistory - 教材 - 詹森艺术史-第三章 埃及艺术01-21
遥感地学分析试题10-15
平凡的人作文03-31
平行四边形的性质(1)导学案05-30
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- FileReference
- 用法
- 详解
- FlashCS
- 操作
- 文件
- 3.0
- 湖南师大论文格式
- 二年级数学笔算加法详案
- 牛珀至宝微丸对肺损伤早期纤维化大鼠TGF-β1表达的影响
- 测定精浆和全精子中的乳酸脱氢酶同工酶X活性及其比值在评价精液质量中的应用
- 吉林省导游资格考试《政策与法规》重点
- 临床医学论文36458 护理干预在肝癌介入治疗中的应用体会
- 浅谈拼图式(Jigsaw)合作学习
- 拟肾上腺素药物分为几类
- 2013年嘉兴二模理综生物试题及答案(word)
- 陕西科技大学科目期末考试复习陕西科技大学期末考考试单片机重点(考试专用)
- 01-注塑 模具 基础
- 2015人教版小学数学三年级上册总复习知识点归纳
- 房产测量规范GBT17986.1-2000(国家质量技术监督局,2000年2月22日)
- 海上航空救生指挥人员能力素质需求与培养研究
- 方山子传文言文阅读-翻译及答案
- 09.第八章 森林群落
- 小学校本研修实施方案
- 党的理论知识考试题
- 2010年月饼销售管理规定亨利
- 我国西部装备制造业发展战略评价