`

flex保存图片

    博客分类:
  • flex
阅读更多

http://roger-588.iteye.com/blog/353743

我们知道Flex 对于本地的限制比AIR要大,当我们想保存一个由Flex 生成的文件必须借由服务器来完成,现在有一个需求就是,用户想保存Flex 生成的图片在本地,我们要完成这个过程,必须先将Flex 生成的图片转换为通用的数据格式,即ByteArray,然后由后台程序帮助写文件,形式上类似先上传,再下载,只不过中间不用保存实际的物理文件。

    好了废话这么多把代码贴上来吧
    Flex


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
  <![CDATA[
  import mx.graphics.codec.JPEGEncoder;
  import mx.graphics.ImageSnapshot;
  private function saveAs(){
      var en:JPEGEncoder = new JPEGEncoder(100); //压缩图片,100是指质量
      var ba:ByteArray=en.encode(ImageSnapshot.captureBitmapData(img));//将控件转为BitmapData后再转  为ByteArray
      var request:URLRequest = new URLRequest("/TestForLCDS/servlet/UploadServlet");
      request.method="POST";
      request.data=ba;
      request.contentType = "application/octet-stream"; //这个很重要,设置成流数据
      navigateToURL(request,"_blank"); //因为要浏览器触发下载事件,所以就不用异步方式打开连接了
  }
]]>
</mx:Script>

<mx:Button x="228" y="10" label="另存为本地图片" click="saveAs()"/>
    <mx:Image id="img" x="10" y="10" source="img.jpg" width="200"  height="200" scaleContent="false"/>
</mx:Application>



后台Java servlet


public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {

    response.setContentType("application/x-download"); //内容是下载
    response.setHeader("Content-Disposition","attachment;filename=" + "test.jpg");//文件名,可以进一步 处理
    //读数据
    BufferedInputStream inputStream = new BufferedInputStream(request.getInputStream());
    OutputStream outputStream = response.getOutputStream();
    byte [] bytes = new byte[1024];
     int v;
    //写数据
    while((v=inputStream.read(bytes))>0){
        outputStream.write(bytes,0,v);
    }
        outputStream.flush();
        outputStream.close();
        inputStream.close();
  }

分享到:
评论
1 楼 xiaowanghappy 2011-12-07  
能用,解决了我的大问题,谢谢!

相关推荐

    flex组件保存为图片

    flex组件保存为图片,弹出保存对话框,更改保存路径,图片名。

    Flex 保存组件至本地

    下面我们将深入探讨如何在Flex中实现将组件保存为本地PNG图片。 1. **Flex组件渲染** Flex组件是以ActionScript 3为基础的对象,它们在运行时由Flash Player或Adobe AIR渲染为像素。要将组件保存为图片,首先需要...

    flex生成图片并保存

    综上所述,Flex提供了强大的图形处理和文件保存功能,使得开发者可以轻松地生成和保存图片。通过深入理解BitmapData、JPEGEncoder/PNGEncoder以及FileReference等类,我们可以实现各种复杂的图像处理需求。而提供的...

    flex-图片保存-本地磁盘-单个ui截屏-整个框架截屏

    // 保存图片 var file:File = File.desktopDirectory.resolvePath("screenshot.jpg"); var stream:FileStream = new FileStream(); stream.open(file, FileMode.WRITE); var encoder:JPEGEncoder = new ...

    flex 在图片上画图 并保存成图片

    在网上找的都不合自己的要求 只有自己写 这个完全满足你的需求 但前提是你要做的就是在已加载的图片上面画图 并将其保存 如果不是请不要浪费资源 我这类似于在图片上打标机 然后将标机之后的图片保存 记得修改图片...

    flex图片查看器源码

    在Flex中,可能使用FileReference类来实现这一功能,允许用户选择本地路径并保存图片。 8. **事件监听和处理**: 在图片查看器中,可能会有许多事件监听器,如点击事件、滚动事件等。ActionScript的addEventListener...

    flex图片上传带预览功能

    本文将详细讲解如何使用Adobe Flex实现一个具有图片上传和预览功能的应用。 首先,Flex是一种开源的开发框架,基于ActionScript 3.0,用于构建富互联网应用程序(RIA)。在Flex中,我们可以利用Flash Player或Adobe...

    flex图表导出图片

    要实现“flex图表导出图片”的功能,我们需要解决两个主要问题:一是如何将图表渲染为图像,二是如何将图像保存或导出。这个问题通常涉及到两个技术:Canvas渲染和图片编码。 1. **Canvas渲染**:在Flex中,我们...

    Flex 图片 保存

    "Flex 图片 保存"这个话题主要关注如何在Flex环境中捕获、处理和保存图片。以下是一些关于Flex图片保存的核心知识点: 1. **BitmapData对象**:在Flex中,BitmapData是用于表示像素数据的基本类。你可以使用它来...

    图片压缩flex demo

    总的来说,"图片压缩flex demo"是一个使用Flex技术演示如何加载图片、压缩图片并保存压缩结果的项目。它涵盖了文件I/O、图片加载、图像处理和压缩算法等多个知识点,对于理解如何在Flex环境中处理图片资源非常有帮助...

    flex 组件 保存为图片

    根据给定的信息,本文将详细探讨如何在Flex中将组件保存为图片,并通过代码示例进行解释。这一过程涉及到的主要技术点包括:Flex中的图像处理、数据编码与解码、文件操作以及与服务器端的数据交互。 ### Flex组件...

    flex 实现图片另存为

    - **自动保存图片**:在不提示用户的情况下直接将图片保存到指定位置,适用于后台操作或自动化流程。 - **图片管理**:如图片库应用中需要批量处理大量图片的情况。 #### 4. **注意事项** - 确保目标文件夹...

    Flex4.6+java+servlet上传图片例子+图片上传预览

    完成文件保存后,Servlet可以通过HttpServletResponse向Flex客户端返回一个响应,比如返回文件的URL,这样前端就可以根据URL显示已上传的图片。 此外,"PicUpload_Java"和"PicUpload_Flex"可能是项目中的两个关键源...

    Flex裁剪图片

    【Flex裁剪图片】是一个基于Adobe Flex技术的图像处理功能,它允许用户在应用程序中对上传的图片进行裁剪和调整。Flex是Adobe Flex SDK的一部分,是一个开源框架,主要用于构建富互联网应用程序(RIA)。该技术使用...

    flex拍照案例,java后台保存照片

    根据提供的信息,我们可以总结出...通过以上知识点的总结,我们不仅了解了 Flex 拍照案例的具体实现方法,也学习到了 Java 后台如何与之配合完成图片数据的保存工作,以及在整个过程中可能遇到的技术挑战及应对措施。

    dtt.rar_flex_flex 图片

    5. 用户确认后,可以将合成的图片保存为文件,或者上传到服务器。 标签 "flex flex_图片" 强调了这个压缩包内容的两个关键点:Flex技术和图片处理。这表明,压缩包中的代码或资源文件可能包含Flex项目示例、库函数...

    FLEX 图片上传管理器

    6. Servlet实现上传:图片上传是通过Servlet技术实现的,Servlet是Java Web应用中处理HTTP请求的组件,能够处理上传请求,接收图片数据,并将其保存在服务器上。这种方式保证了上传的稳定性和安全性,同时,Servlet...

    flex+java(jsp)在线拍照,flex摄像头保存图片(源码)

    Flex在线拍照功能(附源码) 功能:在线拍照 简介:用flex与java结合...需求:为了满足希望通过摄像头拍照的图片,然后通过服务器来展示需要。 原帖地址:http://www.blogjava.net/obpm/archive/2011/06/17/330207.html

    flex 图片上传组件 php服务

    首先,让我们理解Flex图片上传组件的工作原理。Flex通常使用ActionScript编程,它是基于ECMAScript的一个面向对象的语言。在图片上传组件中,开发者可以创建一个用户友好的界面,包含一个或多选文件输入控件,用户...

    flex+spring图片上传及预览

    这个Controller应该配置一个可以处理multipart/form-data类型的注解,如`@RequestParam("file") MultipartFile file`,用来接收来自Flex的图片文件。接着,我们需要将接收到的图片文件保存到服务器上,可以选择合适...

Global site tag (gtag.js) - Google Analytics