`
japankn
  • 浏览: 216208 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

Flex中mx:Image组件动态调用Tomcat工程以外图片的方法

    博客分类:
  • flex
阅读更多

<mx:Image source="@Embed('C:/test.PNG')" />

但是很快发现,Embed标签是在编译期就把图片加载进swf文件中的,无法实现动态更换图片的功能。

解决的办法是:

新建一个Servlet来实现图片读取。

ImageShowServlet.java

public class ImageShowServlet extends HttpServlet {

 private static final long serialVersionUID = -3481832826439542244L;

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  
  processRequest(req, resp);
 }

 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  
  processRequest(req, resp);
 }

 protected void processRequest(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  
  String imgName = request.getParameter("imagename");
  ResourceBundle resourceBundel = ResourceBundle.getBundle("application");
  String imgPath = resourceBundel.getString("img_root");
  
       File imgFile = new File(imgPath + imgName);
       if(imgFile.exists()) {
        
        response.reset();
           response.setContentType("application/octet-stream");
           response.setCharacterEncoding("utf-8");
           response.setHeader("Content-disposition", "filename=" + imgName);
           
        InputStream is = new FileInputStream(imgFile);
           OutputStream outputStream = response.getOutputStream();
           int data = -1; 
           while((data = is.read()) != -1) {
            outputStream.write(data); 
           }
           outputStream.flush();
           outputStream.close();
       }
 }
}

Flex通过访问这个Servlet来实现图片加载:

var imgName : String = "test.PNG";
var imgUrl : String = "./imageshow?imagename=" + imgName;
imgroot.source = imgUrl; //imgroot.load(imgUrl);也可以

分享到:
评论

相关推荐

    Flex(mx:DataGrid)实现数据过滤显示

    MX:DataGrid是Flex中的一个组件,用于展示数据集并进行交互操作,如排序、选择和编辑。本篇文章将重点讲解如何在Flex中利用MX:DataGrid实现数据过滤显示的功能。 首先,数据过滤是指根据特定条件筛选数据,只显示...

    Flex 自定义组件ImageViewer

    在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...

    flex 利用mx:HTML标签加载pdf

    flex4 air开发中显示pdf,可以是本地pdf文件,也可以是服务端的资源文件。

    Flex4视频教程_03-03使用Image组件.rar

    在Flex4中,Image组件允许开发者轻松地展示静态图像和动态加载网络上的图片资源。 1. **Image组件介绍**: - Image组件是Flex的基础UI组件之一,用于在用户界面中显示图像。它可以显示JPEG、PNG、GIF、BMP等格式的...

    Flex实现自定义中文日期选择(mx:DateField)

    在Flex开发中,MX组件库提供了DateField控件用于显示和选择日期,但默认情况下,它的日期格式和语言通常是英文。然而,在中国的应用环境中,我们往往需要使用中文日期格式。这篇博客将指导你如何通过自定义来实现...

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

    在本场景中,我们将讨论如何在Flex中捕获组件的快照,将其转换为ByteArray,并通过JavaServlet将其导出为图片。 首先,让我们深入了解Flex中的组件快照。在Flex中,我们可以使用BitmapData类来捕获组件的视觉表示,...

    Flex使用<mx:Tree>控件创建树(可添加和删除节点)

    本文将详细讲解如何在Flex中使用`&lt;mx:Tree&gt;`控件来创建可动态添加和删除节点的树形结构,以及相关的源码和工具应用。 `&lt;mx:Tree&gt;`控件是Flex MX组件库中的一个关键组件,它允许开发者展示层次化的数据,用户可以...

    flex中给图片或任意组件着色的方法

    本篇文章将详细介绍如何在Flex中实现这一功能,并通过一个具体的示例——`zhuose.mxml`文件,来演示图片和组件着色的方法。 Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA)。它...

    Flex中方法调用顺序的思考

    在Flex开发中,深入理解方法调用顺序是至关重要的,特别是在构建复杂的用户界面和应用程序时。Flex是一个基于ActionScript和MXML的开源框架,用于创建富互联网应用(RIA)。本篇我们将探讨Flex中方法调用的顺序,...

    Flex数据访问:WebService

    在.NET中,我们可以创建一个Web方法(WebMethod),如`GetEmployee`,该方法返回一个Employee对象。在Flex前端,我们使用WebService组件连接到这个Web服务,并指定相应的wsdl地址。当用户点击按钮时,`GetEmployee`...

    Flex动态创建DataGrid设置图片

    在ItemRenderer中,可以使用`mx.controls.Image`或`spark.components.Image`组件加载图片。你需要监听`data`属性的变化,以便在数据改变时更新图片源。 3. **分配ItemRenderer**: 在DataGrid的`&lt;mx:columns&gt;`或`...

    Flex 图片放大缩小

    在Flex开发中,图片放大缩小功能是一个常见的交互需求,它...总的来说,Flex中的图片缩放功能主要涉及`mx:Image`组件、按钮事件监听和缩放算法。通过理解这些核心概念,您可以创建出具有交互性图片查看功能的应用程序。

    Flex 开发工程发布到tomcat下的步骤.doc

    Flex开发工程发布到Tomcat下是一项常见的操作,尤其在基于Flex前端和Java后端的混合开发项目中。这里,我们将详细讲解如何将Flex项目部署到Apache Tomcat服务器上,以便于运行和测试。 首先,Flex是一种用于创建富...

    Flex实现分页显示功能(mx:DataGrid)

    本篇将聚焦于如何使用Adobe Flex来实现分页显示功能,特别是通过mx:DataGrid组件。 Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。mx:DataGrid是Flex提供的一个强大组件,可以...

    FLEX _HTTPService的调用方法

    根据提供的文件信息,我们可以深入探讨FLEX中的_HTTPService组件及其使用方法。此组件主要用于与Web服务进行通信,例如从服务器获取或发送数据。下面将详细解释如何使用_HTTPService组件,并通过示例代码来展示其...

    flex-web工程载入tomcat下xml文件(含源码)

    在本文中,我们将深入探讨如何在Flex-web工程中加载Tomcat服务器下的XML文件。这个过程涉及到Flex编程、HTTP请求以及XML数据处理等多个知识点。首先,让我们解析标题和描述中的关键信息。 标题:“flex-web工程载入...

    Flex MenuBar从数据库中动态加载图片

    在Flex开发中,`MenuBar`组件是一个常用的菜单栏控件,用于展示层次化的选项。本教程将深入探讨如何从数据库中动态加载图片到`MenuBar`,以创建更加丰富的用户界面。这一过程涉及到数据绑定、自定义渲染器以及与后端...

    FLEX 鼠标移上去图片放大,图片放大的倍数

    本文详细介绍了如何在Flex中实现鼠标悬停时图片放大效果,包括使用Zoom组件进行整体缩放、Image组件实现单个图片缩放以及编写事件处理器的方法。此外,还涉及到了其他一些增强用户体验的功能。希望这些信息能够帮助...

    Flex高级组件详细介绍

    - **组件构建**:在Flex中引用素材并构建组件,例如使用`Image`组件作为`ItemRenderer`。 示例代码: ```xml &lt;mx:DataGridColumn headerText="满意度" dataField="sat"&gt; &lt;mx:itemRenderer&gt; &lt;mx:Component&gt; ...

    Flex itemRenderer的详细教程

    `&lt;mx:Image&gt;` 和 `&lt;mx:VBox&gt;` 控件分别显示书籍的封面图片和标题作者信息。 #### 三、使用 MXML 和 ActionScript 定义 ItemRenderer 当需要更复杂的逻辑或交互时,仅依靠 MXML 来定义 ItemRenderer 可能不够。这时...

Global site tag (gtag.js) - Google Analytics