先看个例子:
http://www.everythingflex.com/flex3_fp10/savetodisk/SaveToDisk.html
我再说两句:
如果你的项目编译时是9.几的话最好先改成10
然后再把10的swc加进来,把9的删除掉
目录\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0\frameworks\libs\player\10\playerglobal.swc
来自:
http://www.hetao.name/flex-zhuan-lan/flexbaocunwenjianfilereferencesave
这个方法是flash10新增的,详细如下:
save () 方法
public function save(data:*, defaultFileName:String = null):void
语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5
打开一个对话框,允许用户将文件保存到本地文件系统。虽然 Flash Player 没有限制可上载、下载、加载或保存的文件的大小,但是播放器正式支持的文件大小最大为 100 MB。
save() 方法首先打开一个操作系统对话框,让用户输入文件名并在本地计算机上选择用于保存文件的位置。当用户选择了位置并确认保存操作时(例如通过单击“保存”),保存过程即会开始。侦听器接收事件来指示保存操作的进度、成功或失败。为了在调用 save() 后确定对话框和保存操作的状态,ActionScript 代码必须对 cancel、open、progress 和 complete 等事件进行侦听。
FileReference.upload()、FileReference.download()、FileReference.load() 和 FileReference.save() 函数均不分块。这些函数在调用之后即返回,而不会等待文件传输完成。此外,如果 FileReference 对象离开作用域,则该对象中尚未完成的任何事务将在离开作用域时被取消。只要希望上载、下载、加载或保存能继续,就应确保将 FileReference 对象保留在作用域中。
在成功保存文件之后,将使用本地文件的属性填充 FileReference 对象的属性。如果保存成功,将调度 complete 事件。
每次只能执行一个 browse() 或 save() 会话(因为每次只能调用一个对话框)。
在 Flash Player 中,只有在响应用户事件(例如,在鼠标单击或按键事件的事件处理函数中)时才能成功调用此方法。否则,调用此方法将导致 Flash Player 引发 Error 异常。此限制不适用于应用程序沙箱中的 AIR 内容。
参数
data:* — 要保存的数据。数据可以采用几种格式之一,并将进行适当处理:
* 如果值为 null,则应用程序将引发 ArgumentError 异常。
* 如果值为 String,则将其保存为 UTF-8 文本文件。
* 如果值为 XML,则会以 XML 格式将其写入到文本文件,并保留所有格式设置。
* 如果值为 ByteArray 对象,则会将其逐字写入到数据文件。
* 如果值并非以上任何一种,则 save() 方法将调用对象的 toString() 方法,将数据转换为字符串,然后将数据保存为文本文件。如果该操作失败,则应用程序将引发 ArgumentError 异常。
defaultFileName:String (default = null) — 对话框中显示的要保存文件的默认文件名。此字符串不能包含以下字符:/ \ : * ? " < > | %
如果 File 对象调用此方法,则文件名将为 File 对象所引用文件的名称。(AIR File 类扩展了 FileReference 类。)
事件
open:Event — 当下载操作开始时调度。
progress:ProgressEvent — 在文件下载操作期间进行定期调度。
complete:Event — 当文件下载操作成功完成时调度。
cancel:Event — 当用户取消对话框时调度。
select:Event — 当用户从对话框中选择要下载的文件时调度。
ioError:IOErrorEvent — 读取或传输文件期间发生输入/输出错误时调度。
引发
IllegalOperationError — 在以下情况下引发:1) 另一个浏览会话正在进行中;每次仅能执行一个文件浏览会话。2) 要下载的文件的名称中包含禁止使用的字符。3) 用户 mms.cfg 文件中的某个设置禁止此操作。
ArgumentError — 如果 data 的类型不是 ByteArray,并且不具有 toString() 方法,则将引发异常。如果 data 的类型不是 XML,并且不具有 toXMLString() 方法,则将引发异常。
Error — 为了响应用户动作(如鼠标事件或按键事件),将不会调用此方法。
MemoryError — 如果 Flash Player 无法为该文件分配内存,则可能会发生此错误。文件可能太大,或者可用的内存可能太小。
http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/flash/net/FileReferenceList.html#browse%28%29
分享到:
相关推荐
FLEXd多文件上传,上传前MD5验证允许那些文件可以上传
//ItemDate单文件大小限制,-1表示不限制,默认值为30M param.TotalDate = (this.parameters.TotalDate == undefined || this.parameters.TotalDate == "") ? -1 : this.parameters.TotalDate;//TotalDate总...
flex 利用FileReference上传firefox报2038错误,在网上收集的一些解决办法和资料
在项目开发过程中,经常会遇到文件上传下载的...但在flex中由于安全沙箱的原因flex程序不能直接访问本地文件,但是flex SDK中提供了FileReference和FileReferenceList两个类,可以通过这两个类来实现文件的上传下载。
flex 打开本地图片并进行显示 var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onLoadByted);... loader.loadBytes(this.fileReference.data);
Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载 一文的源码的完整工程文件,包含FLEX客户端和 ASP.NET服务端源码! 在VS2010和FLash builder4 中运行!
Flex与.NET互操作 使用FileReference+HttpHandler实现文件上传/下载
Flex Builder 3 下载安装与项目创建详细说明 Flex中利用FileReference类下载文件的例子| 中文Flex例子
请使用“flex 文件上传下载完整代码(修正版)”http://download.csdn.net/source/1815266
flex语言编写的,把xml内容存成xml文件保存到指定的位置!
//AS3将文本文件保存到本地 仅5行代码 多么简单 import flash.net.FileReference; var fileRef:FileReference = new FileReference();
FileReferenceList 类或者FileReference 一个是多个上传一个是单个上传。用这2个类通过Java实现文件图片上传。
完成的文件上传功能。使用FileReference类实现。还有多文件上传
//指示可以上传的文件类型 imageTypes.extension = "*.jpg; *.jpeg; *.gif; *.png"; allTypes.push(imageTypes); var listener:Object = new Object(); listener.onSelect = function(file:FileReference):...
flex 导出excel工具包 用法如下: import com.as3xls.xls.ExcelFile; import com.as3xls.xls.Sheet; import mx.collections.ArrayCollection; import mx.controls.DataGrid; import mx.controls.dataGridClasses....
//定义截屏的区域,并保存在bitmapData中 //false是位图是否有transparent项 var region:Rectangle= new Rectangle(0, 0, 100, 100); bitmapData= ScreenCapture.capture(stage,false, region); // 一个...
fl包可用于纯as工程的ui应用,而filereference则是官方的demo
如果你和我遇见一样的问题:用actionscript写一个需要操作本地文件(比如excel文件)之后批量导出jpg的工具,那么filereference不支持在没鼠标操作的情况下一次性多操作,你可以用zip的方式,单击鼠标,批量保存。
鉴于adobe并没有提供FileReference对浏览的文件的完整路径的接口。只能采用JS和fileinput控件来获取本地路径了。
Adobe flash3 AIR 更新 中文 Adobe flash3 AIR 更新 中文