`
hbing110
  • 浏览: 88308 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex保存文件(FileReference.save)

阅读更多
先看个例子: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

分享到:
评论
1 楼 shikonglaike 2010-12-22  
不错。呵呵!只是目前火狐还不支持flash player 10,FileReference还用不了啊。

相关推荐

    Flex+WebService附件上传下载

    4. 对于下载,Flex客户端通过`FileReference.save()`方法触发下载,HTTPHandler读取服务器文件并设置HTTP响应的Content-Disposition头,指示浏览器保存文件。 通过这种方式,Flex和.NET可以实现无缝集成,提供用户...

    flex文件上传下载,在线以pdf形式浏览文件

    当用户点击下载链接时,服务器返回一个包含文件内容的HTTP响应,Flex应用使用FileReference.load方法加载这个响应,然后调用save方法让用户保存到本地。 3. **在线浏览**:在线浏览文件涉及到多种技术。对于文本...

    Flex 图片 保存

    6. **安全限制**:需要注意的是,由于Flash Player的安全沙箱限制,只有在用户交互后(如点击按钮)才能使用FileReference保存文件,否则会触发安全错误。 综上所述,Flex中的图片保存涉及BitmapData、Matrix、编码...

    flex文件上传下载

    - **FileReference.save()**:使用`FileReference`的`save()`方法,指定文件名和保存路径,开始下载。同时,可以监听`download`事件来跟踪下载进度和状态。 - **安全限制**:需要注意的是,由于浏览器的安全策略,...

    flex生成图片并保存

    `save`方法接收两个参数:一个是包含图片数据的字节数组,另一个是用户保存文件时显示的默认文件名。 描述中提到的“网上找到的,共享一下”可能是指有现成的示例代码。在提供的压缩包文件列表中,我们看到两个MXML...

    flex 读XML 写XML 并保存为文件

    本篇文章将详细探讨如何在Flex中进行XML的读取、写入以及保存为文件。 一、XML读取 1. 使用XML类:在Flex中,我们可以直接创建XML对象来解析XML文档。首先,我们需要导入`mx.utils.XMLUtil`库,然后使用`XMLUtil....

    flex 文件上传下载完整代码(废弃--代码有错误)

    4. **保存文件**:当文件下载完成后,我们可以调用FileReference的save()方法,让用户选择保存位置并保存文件。 5. **取消下载**:如果用户决定取消下载,我们可以调用FileReference的cancel()方法。 在提供的...

    Flex使用as3xlsUTF8.swc库文件导出Excel

    6. **保存文件**:最后,使用`save()`方法将Excel对象保存为`.xls`文件。 ```actionscript var fileReference:FileReference = new FileReference(); fileReference.save(excel.getBytes(), "output.xls"); ```...

    flex上:简单的将xml内容生成文件存到本地的一个小例子

    综上所述,这个Flex示例展示了如何使用XML和`FileReference`类来处理和保存本地文件,为用户提供了一种方便的数据交互方式。在实际开发中,可以依据这个基础扩展到更复杂的文件操作,如读取、上传等。

    Flash Flex 上传文件

    综上所述,Flash Flex 文件上传涉及的技术包括:Flex的FileReference类用于前端文件选择和上传,Asp.Net后端接收并处理文件,以及跨域策略文件的配置。理解并掌握这些知识点,可以帮助开发者创建出高效、安全的文件...

    Flex与.NET互操作 使用FileReference+HttpHandler实现文件上传/下载

    ### Flex与.NET互操作:使用FileReference+HttpHandler实现文件上传/下载 #### 一、引言 在Flex的应用开发中,与ASP.NET、JSP、PHP等Web应用一样,经常会遇到需要处理文件上传和下载的需求。Adobe Flex是一种用于...

    Flex中组件datagrid导出Excel

    创建好XML文件后,通过`FileReference.save()`方法,指定文件名和内容,触发浏览器的下载对话框,让用户保存生成的Excel文件。 6. **实际应用**:在提供的压缩包文件"datagrid_excel"中,可能包含了一个简单的Flex...

    Flex导出excel文件例子

    8. **用户交互**:在Flex应用中,你可能需要提示用户保存文件。这可以通过使用`flash.filesystem.File`类和`FileReference`类来实现。创建一个`FileReference`对象,指定文件名和类型,然后调用`save`方法。 请注意...

    Flex 3.0 手写签名系统

    当用户完成签名后,可以将舞台上的图形对象转换为位图数据,然后使用`FileReference.save()`方法将其保存到用户的计算机上。这通常涉及将位图数据转换为Base64编码,然后封装在XML或JSON格式中,以便于传输和存储。 ...

    基于Flex开发的多文件上传控件,及在.Net平台下使用该控件的Demo.zip

    在接收到文件上传请求时,服务器端需要解析Request对象,从中获取HttpPostedFileBase实例,然后调用SaveAs()方法将文件保存到服务器的指定位置。 在Flex和.Net之间建立通信时,通常采用AMF(Action Message Format...

    存取flex屏幕快照

    在提供的代码示例中,我们看到了两个Flex应用,它们都利用了`FileReference`类来实现本地文件保存。`FileReference`是Flash Player和Adobe AIR提供的一种API,允许用户与本地文件系统进行交互,包括读取、写入和上传...

    Flex读取excel

    3. **Flex与Excel交互**:为了实现Flex与Excel文件的交互,我们需要借助第三方库,例如`as3xls`。 #### 三、核心知识点解析 ##### 3.1 读取Excel文件 1. **文件选择与上传**: - 使用`FileReference`类来选择并...

    Flex 输出文件到本地的两种方法

    使用FileReference保存文件时,通常用于保存二进制文件或文本文件,但不便于指定字符编码。 #### 实例代码解析: ```actionscript var content:String = "jhfdklahflaksjdhflkasjhflaskjhlf\n"; var f:...

    Flex 修改图片主色调

    如果需要保存为新文件,可以使用`flash.utils.ByteArray`将`BitmapData`导出为位图格式(如JPEG或PNG),然后使用`FileReference.save()`方法保存到本地。 7. **示例代码**: ```actionscript var bitmapData:...

    flex中上传与下载的例子

    2. **设置目标文件名**:如果希望指定文件名,可以使用`FileReference`的`save()`方法。这会弹出一个对话框让用户确认保存文件的路径和名称。 3. **启动下载**:调用`FileReference`的`download()`方法,传入`...

Global site tag (gtag.js) - Google Analytics