### Flex完全自学手册:文件的上传下载 #### 章节概述 《Flex完全自学手册》是一本详尽介绍Adobe Flex技术的书籍,适合初学者和有一定基础的开发者自学使用。其中第六篇“Flex模块篇”之第24章详细讲述了文件的上传下载功能。在Flex 1.5及之前版本中,实现这一功能较为复杂,需要通过Flash Player API中的`FileReference`类来进行操作。而到了Flex 2.0,这个类被集成到了Flex类库中,使得上传下载功能变得更加简便易用。 #### 技术背景与变化 在Flex 1.5及更早版本中,为了实现文件上传下载,开发者需要将`FileReference`类嵌入到FLA文件中,然后在Flex应用程序中调用。这种做法不仅繁琐而且不够直观。到了Flex 2.0,`FileReference`类已经被纳入Flex标准库,开发者可以直接在Flex项目中使用该类,无需额外步骤。 #### 24.1 技术准备 本节主要介绍了`FileReference`类的基本概念和使用方式。`FileReference`类是实现文件上传下载的核心,它提供了多种方法和属性,用于处理文件上传下载的过程。 ##### 24.1.1 FileReference类属性 `FileReference`类提供了一系列只读属性,用于获取文件的相关信息,包括但不限于: - `creationDate`: 文件的创建日期。 - `creator`: 文件的创建者(实际为`undefined`,因为Flash Player的安全限制)。 - `modificationDate`: 文件的最后修改日期。 - `name`: 文件名。 - `size`: 文件大小。 - `type`: 文件类型。 这些属性对于开发者来说非常重要,它们可以帮助开发者了解文件的基本信息,从而更好地控制上传下载过程。 ##### 24.1.2 FileReference类方法 `FileReference`类还提供了以下几种关键方法,用于文件上传下载的操作: 1. **browse()** 方法:此方法用于打开系统文件对话框,允许用户选择要上传的文件。值得注意的是,该方法一次只能选择一个文件,且无法选择文件夹。此外,可以通过向此方法传递`FileFilter`对象来限制用户可以选择的文件类型。 示例代码: ```actionscript var imageTypes:FileFilter = new FileFilter("Images(*.jpg,*.jpeg,*.gif,*.png)", "*.jpg;*.jpeg;*.gif;*.png"); var textTypes:FileFilter = new FileFilter("Text Files(*.txt,*.rtf)", "*.txt;*.rtf"); var allTypes:Array = [imageTypes, textTypes]; var fileRef:FileReference = new FileReference(); fileRef.browse(allTypes); ``` 2. **upload()** 方法:用于上传文件。此方法需要一个`URLRequest`对象作为参数,该对象包含要上传的目标服务器地址。需要注意的是,上传文件时,必须确保服务器端有一个脚本来接收并处理这些文件。常见的服务器端脚本包括JSP、CFM、Servlet和ASPX等。 示例代码: ```actionscript var request:URLRequest = new URLRequest("http://localhost:8080/flex/upload.jsp"); myFileReference.upload(request); ``` 3. **cancel()** 方法:用于取消当前正在进行的上传或下载操作。这对于用户可能想要停止某个耗时较长的任务时非常有用。 4. **download()** 方法:用于下载文件。该方法需要两个参数:一个是目标文件的URL地址,另一个是下载后的默认文件名(可选)。如果未指定默认文件名,则使用原始文件名进行下载。需要注意的是,在Flash Player中,单个文件的最大下载大小限制为100MB。 示例代码: ```actionscript var fileRef:FileReference = new FileReference(); var request:URLRequest = new URLRequest("http://25.20.13.1:8080/a.jpg"); fileRef.download(request, "defaultFileName.jpg"); ``` 通过`FileReference`类,Flex提供了丰富的API来处理文件的上传下载操作。这些API不仅简化了开发者的编程工作,还提高了程序的健壮性和用户体验。学习并掌握这些API的使用方法,对于从事Flex开发的人来说是非常重要的。
- zzxgo2011-10-18内容不全,只是一个章节。
- 粉丝: 1
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助