Flex 利用 Blazeds上传文件 收藏
用Flex做业务经常会碰到各种类型的文件上传,如FTP上传、Http上传或者WEB服务形式上传,本文说的利用Blazeds上传文件有点类似Http上传,其原理就是客户端发送byte流,然后服务器端flex.messaging.MessageBrokerServlet接收byte流并生成文件。阅读本文最好了解Flex RemoteObject的使用,了解Blazeds的service调用。
1、新建Blazeds的文件上传服务,其实就是一个普通的Java类
Public class FileUpDownloadService{
/**
*
* <p>Description:文件上传</p>
* @param content,文件内容
* @param fileType,文件类型
* @return
* @throws Exception
* @author Marcus
* @date 2010-8-31 下午03:57:10
*/
public void uploadFile(byte[] content, String fileType)throws Exception{
File file = new File(文件名+ fileType);
//write file
FileOutputStream stream = new FileOutputStream(file);
stream.write(content);
stream.close();
}
}
2、配置remoting-config.xml文件
<destination id="fileUpDownloadService" channels="my-amf">
<properties>
<source>FileUpDownloadService</source>
<scope>application</scope>
</properties>
</destination>
3、flex客户端使用FileRefrence、remoteobject组件进行文件上传
1)FileRefrence用于文件选择;
2)remoteobject用户文件上传
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="800" minHeight="600" creationComplete="init()" width="370" height="180">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
private var file:FileReference = new FileReference();
protected function ro_resultHandler(event:ResultEvent):void
{
Alert.show("文件上传成功!");
}
protected function init():void{
//选择文件后,加载文件
file.addEventListener(Event.SELECT, selectHandler);
}
private function selectHandler(event:Event):void {
file.load(); //加载文件
}
protected function ro_faultHandler(event:FaultEvent):void
{
Alert.show("文件上传失败,"+event.fault.faultString);
}
protected function btnBrows_clickHandler(event:MouseEvent):void
{
file.browse();
}
protected function btnUpload_clickHandler(event:MouseEvent):void
{
ro.uploadFile(file.data, file.type);
}
]]>
</fx:Script>
<fx:Declarations>
<s:RemoteObject id="ro" destination="fileUpDownloadService"
result="ro_resultHandler(event)" fault="ro_faultHandler(event)"/>
</fx:Declarations>
<s:Button id="btnBrows" click="btnBrows_clickHandler(event)" label="选择文件" x="57" y="60"/>
<s:Button id="btnUpload" click="btnUpload_clickHandler(event)" label="上传" x="145" y="60"/>
</s:Application>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chuangxin/archive/2010/09/13/5881758.aspx
分享到:
相关推荐
- **前端**:在Flex应用中,用户可以选择或拖放多个文件到指定区域,Flex通过AJAX或HTTP协议,利用BlazeDS与Java服务器通信,发送文件数据。 - **后端**:Java服务器接收到请求后,对每个文件进行合法性检查,如...
在Flex中处理文件大小的检测是开发过程中常见的需求,特别是在上传或下载文件时。以下将详细介绍如何在Flex中检测文件大小。 1. **文件上传的文件大小检测** 在Flex中,用户可以通过FileReference类来实现文件上传...
总的来说,这个"Flex+Java Servlet文件上传实例"是一个典型的前后端交互案例,展示了如何利用Flex构建用户友好的文件选择和上传界面,然后通过Java Servlet在服务器端处理上传请求。开发者可以通过这个实例学习到...
总的来说,这个Flex图片上传实例展示了如何利用Flex3的前端能力与Java的后端处理能力相结合,创建一个完整的图片上传解决方案。学习这个实例可以帮助开发者掌握Flex3的组件使用、ActionScript编程,以及Java服务器端...
#### 三、利用Blazeds上传文件 使用BlazeDS上传文件涉及几个关键步骤: 1. **创建Flex前端界面**:设计一个包含文件上传控件的Flex用户界面。 2. **配置BlazeDS通道**:确保Flex前端正确配置了与服务器端通信所需...
本文将深入探讨如何利用Flex技术开发一个多文件上传控件,并在.Net平台上进行有效集成与应用。我们将从Flex的基本概念入手,逐步解析控件开发过程,然后介绍在.Net环境下的使用方法,最后通过一个Demo来展示其实现...
本示例主要关注的是FLEX在多文件上传功能的实现,这在许多Web应用中是一个常见的需求,例如图片分享、文档共享等场景。.NET则提供了后端的支持,处理来自FLEX前端的文件上传请求。 1. **FLEX**:FLEX是一种开源的、...
在本资源中,我们将探讨如何在ASP.NET环境中使用Flex技术实现多文件上传功能,以及展示上传进度。 Flex是一种用于构建富互联网应用程序(RIA)的框架,它基于ActionScript和Flash Player或Adobe AIR。在ASP.NET项目...
6. "FileUpload.zip":与"flex文件上传.pdf"相似,这可能是一个文件上传组件或示例代码,用于辅助实现Flex应用中的文件上传功能。 通过这些资源,开发者可以深入了解Flex与Java的集成开发,包括客户端的用户界面...
本文将深入探讨“BatchImageUpload”这一主题,重点关注如何使用Flex进行图片批量上传,并通过BlazeDS与Java后端进行交互。 Flex是一种基于Adobe AIR和Flash Player运行时的开源框架,用于构建富互联网应用程序...
《Flex超炫相册》项目是一款利用Adobe Flex技术与Java后台服务相结合的在线相册应用。Flex作为前端展示层框架,以其强大的富互联网应用程序(RIA)开发能力,为用户提供直观、交互性强的用户体验。在该项目中,Flex...
Flex的FileReference类可以方便地处理文件上传操作。 2. **稿件分类与管理**:系统能够根据类型、作者、状态等条件对稿件进行分类和搜索。这涉及到数据模型的设计和数据过滤机制,Flex的数据绑定机制可以帮助简化这...
利用BlazeDS,Flex客户端可以订阅Java服务器上的事件,实时获取更新数据,同时也可以调用服务器端的业务逻辑方法。 ### 10. ASP.NET的线程同步问题 ASP.NET是Microsoft提供的一种Web开发框架,它使用线程池来处理...
Gilead,全称为Hibernate for Flex,是用于Flex和Hibernate之间的数据绑定工具,它提供了一种在Flex客户端和Hibernate服务端之间通信的方法,使得Flex应用程序可以利用Hibernate的懒加载功能。然而,由于历史原因,...