用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>
分享到:
相关推荐
該文檔提供了MyEclipse_8.5_flex4+Blazeds配置的整個過程,文檔中包括文字和圖片,形象生動
Flex4+BlazeDS整合 项目源码
Flex技术本身和Java就有很强的关联性,它提供了一个基于Eclipse的IDE和BlazeDS.BlazeDS是个基于服务端的Java远程调用和Web消息的一个开源的技术。有许多应用都是以Java为后端处理的。Flex用于前端。由于Java和Flex...
Flex4+blazeds+JAVA+JDBC+mysql Flex4结合blazeds框架,调用后台用JAVA写的JDBC连接mysql。数据库脚本在项目中。 需要修改数据库的连接。
myeclipse+flex4+blazeds整合配,安装到实例测试,全部到位,一例就会。
MyEclipse_8_5_flex4+Blazeds配置文档and例子和blazeds下载
Flex4+Blazeds4.0+Spring3.0+hibernate2.5.2整合笔记,自己看了不少网上所说,都没配置成功,后来通过spring的一个插件搞定了,希望对大家有帮助吧!
MyEclipse8.5+FlexBuilder4+Blazeds配置!
Flex4+BlazeDS+Spring+Hibernate 整合源码博文源码
Flex 应用,BlazeDS通信,Flex 应用,BlazeDS通信
flex4+blazeDS+blazeSpringIntegration+spring+ibatis开发教程
flex4+blazeds+spring+hibernate集成源码。内附完整jar包以及配置。给后来知道者帮助。
MyEclipse_8.5_flex4+Blazeds配置
Flex文件上传功能,后台服务器管理用Java,通信工具BlazeDS,包括Flex工程和Java工程。
前言:本讲是继【第三讲:WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6】后,介绍另外一种集成方式; 集成方式二:采用Spring侦听配置模式 目标:实现集成方式二 优点: 1、一个应用可以满足多种请求 2、易于集成...
利用BlazeDS实现与后台通信,简单明了,会了这个,查询全部数据后在分页也就会了。
前言:本讲是在【第三讲:WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6】方式二的基础上添加iBatis,此次集成其实质是Spring与iBatis的整合而已 目标:WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6+iBatis2.3.4 再需...
flex 工具 blazeds
BlazeDS配置指南 tomcat安装 xml配置 flex与blazeDs