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

基于servlet导出Flex/Flash界面为图形文件的简单方法

阅读更多

使用flash能做出很好的界面或者图表(chart),但是如何将这些内容保存成图片呢,这个问题是个值得考虑的难题。本文将简单的描述一下解决思路并给出代码。

1。第一步:获取要导出的flash图形数据
 通过AS3的bitmapdata类将界面上某个要截取的diplayobject转换为ByteArray,通过ExternalInterface传递给html页面中的表单。

2。第二步:将转换的位图数据传递到后台
 这个是最难的部分,如果采用flex的数据服务则代价昂贵,如果采用amfphp/openphp又比较麻烦,那怎么办呢?
 解决方法:将bytearray编码为base64的字符串进行http传递。

3。第三步:将客户端传来的数据转换为图形文件
 既然前端传来的是base64字符串,那就需要基于java的base64解码方法,然后转换为byte[],这样就可以生成图形文件了。

下面给出需要的资源:

a)bitmapdata转换为图形ByteArray的类:

http://www.kaourantin.net/2005/10/png-encoder-in-as3.html
http://www.kaourantin.net/2005/10/more-fun-with-image-formats-in-as3.html

b)bytearray转换为base64编码的类:

http://www.dynamicflash.com/goodies/base64

c)解码base64字符串为byte[]的类:

http://www.source-code.biz/snippets/java/2.htm

 


 

 

分享到:
评论
5 楼 treenode 2007-09-18  
如果没有防火墙之类限制的话,那么Raw Socket应该也可以吧
4 楼 lwz7512 2007-09-18  
可能我没仔细叙述我的需求,我是要实现类似于这样的过程:
AS3-->HTML form to submit-->servlet-->client save file dialog
即点击flash上面的按钮,或者点击html的一个按钮,就要将图形文件返回到客户端进行保存提示,我想了一下,觉得html form只能以string的形式接收图片数据,所以就做了base64的转码处理。

大家认为这样如何?
3 楼 hallaw 2007-09-18  
为什么要base64编码呢,粗粗看了一下,你的方案和在评论里面提到那篇文章的区别在于它直接用字节流传输了,这样更直接。
req.contentType = 'application/octet-stream';
2 楼 lwz7512 2007-09-17  
你说的方法也可行,只是我没有想到如何传递这个bytearray到后台,这里的这个方法应该是你说的方案:
用URLRequest保存图片
但是感觉这个方法,有点抽象而且繁琐,我只使用urlrequest就可以将图片保存到客户端或者服务端,不需要loader。
1 楼 goldpigbaby 2007-09-17  
第二步是不是可以直接把PNG图像数据byteArray通过http上传的方式上传到servlet,直接生成png图不是一样的吗?为什么还要进行编码转化.
   好遗憾现在as3.0还没有jpg的decoder.如果有就好了,flash就可以接受图像数据进行解码显示了.

相关推荐

    Flex和Servlet结合上传文件

    这里我们关注的是如何将Adobe Flex与Java的Servlet技术相结合,实现用户友好的文件上传界面。Flex作为一个强大的富客户端开发框架,可以提供美观且交互性强的用户界面,而Servlet则是Java Web应用中的标准组件,用于...

    servlet导出文件

    当我们谈论“Servlet导出文件”时,我们通常是指从服务器端生成或获取文件,然后将其作为HTTP响应发送到客户端。这个过程涉及几个关键步骤: 1. **文件准备**:这可能包括从数据库、文件系统或其他数据源获取数据,...

    servlet导入导出excel

    可以自定义样式,如设置字体、颜色、对齐方式等,以提高导出文件的可读性。 4. **响应下载**:在Servlet中,设置合适的响应头,如`Content-Type`和`Content-Disposition`,使得浏览器触发文件下载。将`Workbook`...

    accp 5.0 y2 开发基于jsp/servlet/javabean的网上交易系统 项目实战1

    在本项目实战中,我们将深入探讨如何使用Java技术栈,特别是JSP、Servlet和JavaBean,来构建一个基于Web的网上交易系统。这个系统能够模拟实际的电子商务环境,包括用户注册、登录、商品浏览、购物车功能、订单处理...

    javax.servlet.jar下载

    Files contained in javax.servlet.jar: META-INF/MANIFEST.MF javax/servlet/http/LocalStrings.properties javax.servlet.http.HttpSessionBindingListener.class javax.servlet....

    基于servlet的文件下载代码

    ### 基于Servlet的文件下载技术解析 #### 一、引言 在Web应用程序开发过程中,文件上传和下载是常见的需求之一。特别是在企业级应用中,用户经常需要下载诸如报告文档、数据备份等文件。Java Servlet作为一种强大...

    java servlet实现上传/下载文件

    servlet实现上传文件和下载文件的方法,在浏览器中输入http://ip:port/servletName?path这种方式将客户端文件上传至服务器端,简单的例子,servletName参照web.xml path参照servlet中写的参数

    基于servlet的文件上传

    本示例基于Servlet和Apache Commons FileUpload库实现了一个简单的文件上传系统。下面将详细介绍这个过程及其涉及到的关键知识点。 首先,`servlet`是Java EE(企业版)的一部分,它是一种用于扩展Web服务器功能的...

    JSP SERVLET 导出数据库内容到EXCEL

    "JSP SERVLET 导出数据库内容到EXCEL"是一个典型的Java Web应用场景,结合了JSP的视图呈现、Servlet的业务处理和数据库操作,以及第三方库Apache POI的文件生成能力,为企业级应用提供了强大的数据导出功能。

    基于jsp/servlet/JavaBean的网上交易系统

    【基于jsp/servlet/JavaBean的网上交易系统】 在IT领域,基于jsp/servlet/JavaBean的网上交易系统是Web开发中的一个经典架构,尤其适用于初学者了解和学习Web应用程序的构建。这种架构利用了Java的强大功能和灵活性...

    Flex调用JavaServlet将组件快照导出成图片

    通过这种方式,Flex与JavaServlet的集成使得我们能够跨平台地处理图像数据,将Flex应用程序的组件快照导出为实际的图片文件。这种技术在需要将用户界面截图保存或分享的场景中非常有用,例如在设计工具、教学演示...

    一个用servlet实现导出csv文件的实例

    在这个实例中,我们将探讨如何使用Servlet来生成CSV(Comma Separated Values)文件,这是一种常见的数据交换格式,广泛应用于数据导入和导出操作。CSV文件易于读取,支持多种应用程序,如电子表格软件。 首先,...

    flex+servlet简单实例

    Flex是一种基于ActionScript和Flash Player的开源框架,用于创建交互式的、跨平台的富互联网应用程序(RIA)。它提供了丰富的用户界面组件和强大的数据绑定功能,使得开发者可以构建具有动态图形和动画效果的应用...

    基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统

    基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍...

    ACCP5.0Y2(开发基于JSP/servlet/javabean的网上交易系统)

    【标题】"ACCP5.0Y2"是北大青鸟的一个软件开发课程,主要针对的是JSP、Servlet和JavaBean技术在构建网上交易系统中的应用。这个课程旨在教会学员如何利用这些技术来开发功能完备、安全可靠的电子商务平台。 【描述...

    基于Servlet的购物系统

    在构建基于Servlet的购物系统时,我们主要关注的是如何利用Servlet技术来实现一个功能完备、交互性强的在线购物平台。Servlet是一种Java编程语言中的技术,主要用于扩展服务器的功能,特别是在Web应用开发中,它扮演...

    基于servlet/jsp的学生信息录入查询系统

    【基于Servlet/JSP的学生信息录入查询系统】 这个项目是一个典型的Web应用程序,主要目的是帮助初学者理解和实践Servlet和JSP在构建动态网站时的作用。Servlet是Java服务器端编程的基础,而JSP则是为了简化HTML和...

    基于Servlet实现文件的上传与下载

    "基于Servlet实现文件的上传与下载"是一个常见的实战任务,它涵盖了网络编程、多线程和文件I/O等多个核心概念。这里我们将深入探讨如何利用Servlet来实现这两个功能。 首先,让我们了解Servlet的工作原理。Servlet...

    Flex+Java Servlet处理文件上传

    Flex+Java Servlet处理文件上传 关于上传文件

Global site tag (gtag.js) - Google Analytics