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

【转】flex利用Blazeds上传文件

    博客分类:
  • flex
阅读更多

 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+Java+BlazeDS多文件上传

    - **前端**:在Flex应用中,用户可以选择或拖放多个文件到指定区域,Flex通过AJAX或HTTP协议,利用BlazeDS与Java服务器通信,发送文件数据。 - **后端**:Java服务器接收到请求后,对每个文件进行合法性检查,如...

    flex 怎么检测文件大小.

    在Flex中处理文件大小的检测是开发过程中常见的需求,特别是在上传或下载文件时。以下将详细介绍如何在Flex中检测文件大小。 1. **文件上传的文件大小检测** 在Flex中,用户可以通过FileReference类来实现文件上传...

    Flex+Java Servlet文件上传实例

    总的来说,这个"Flex+Java Servlet文件上传实例"是一个典型的前后端交互案例,展示了如何利用Flex构建用户友好的文件选择和上传界面,然后通过Java Servlet在服务器端处理上传请求。开发者可以通过这个实例学习到...

    Flex图片上传实例

    总的来说,这个Flex图片上传实例展示了如何利用Flex3的前端能力与Java的后端处理能力相结合,创建一个完整的图片上传解决方案。学习这个实例可以帮助开发者掌握Flex3的组件使用、ActionScript编程,以及Java服务器端...

    BlazeDS 数据通信技术

    #### 三、利用Blazeds上传文件 使用BlazeDS上传文件涉及几个关键步骤: 1. **创建Flex前端界面**:设计一个包含文件上传控件的Flex用户界面。 2. **配置BlazeDS通道**:确保Flex前端正确配置了与服务器端通信所需...

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

    本文将深入探讨如何利用Flex技术开发一个多文件上传控件,并在.Net平台上进行有效集成与应用。我们将从Flex的基本概念入手,逐步解析控件开发过程,然后介绍在.Net环境下的使用方法,最后通过一个Demo来展示其实现...

    FLEX实现的一例多文件上传源码

    本示例主要关注的是FLEX在多文件上传功能的实现,这在许多Web应用中是一个常见的需求,例如图片分享、文档共享等场景。.NET则提供了后端的支持,处理来自FLEX前端的文件上传请求。 1. **FLEX**:FLEX是一种开源的、...

    asp.net基于Flex的上传控件(多文件)

    在本资源中,我们将探讨如何在ASP.NET环境中使用Flex技术实现多文件上传功能,以及展示上传进度。 Flex是一种用于构建富互联网应用程序(RIA)的框架,它基于ActionScript和Flash Player或Adobe AIR。在ASP.NET项目...

    flex 加java开发的bbs项目源码

    6. "FileUpload.zip":与"flex文件上传.pdf"相似,这可能是一个文件上传组件或示例代码,用于辅助实现Flex应用中的文件上传功能。 通过这些资源,开发者可以深入了解Flex与Java的集成开发,包括客户端的用户界面...

    BatchImageUpload

    本文将深入探讨“BatchImageUpload”这一主题,重点关注如何使用Flex进行图片批量上传,并通过BlazeDS与Java后端进行交互。 Flex是一种基于Adobe AIR和Flash Player运行时的开源框架,用于构建富互联网应用程序...

    Flex超炫相册

    《Flex超炫相册》项目是一款利用Adobe Flex技术与Java后台服务相结合的在线相册应用。Flex作为前端展示层框架,以其强大的富互联网应用程序(RIA)开发能力,为用户提供直观、交互性强的用户体验。在该项目中,Flex...

    Flex开发的稿件管理

    Flex的FileReference类可以方便地处理文件上传操作。 2. **稿件分类与管理**:系统能够根据类型、作者、状态等条件对稿件进行分类和搜索。这涉及到数据模型的设计和数据过滤机制,Flex的数据绑定机制可以帮助简化这...

    IT技术文章示例

    利用BlazeDS,Flex客户端可以订阅Java服务器上的事件,实时获取更新数据,同时也可以调用服务器端的业务逻辑方法。 ### 10. ASP.NET的线程同步问题 ASP.NET是Microsoft提供的一种Web开发框架,它使用线程池来处理...

    gilead hibernate lazyload例子

    Gilead,全称为Hibernate for Flex,是用于Flex和Hibernate之间的数据绑定工具,它提供了一种在Flex客户端和Hibernate服务端之间通信的方法,使得Flex应用程序可以利用Hibernate的懒加载功能。然而,由于历史原因,...

Global site tag (gtag.js) - Google Analytics