<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);也可以
分享到:
相关推荐
MX:DataGrid是Flex中的一个组件,用于展示数据集并进行交互操作,如排序、选择和编辑。本篇文章将重点讲解如何在Flex中利用MX:DataGrid实现数据过滤显示的功能。 首先,数据过滤是指根据特定条件筛选数据,只显示...
在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...
flex4 air开发中显示pdf,可以是本地pdf文件,也可以是服务端的资源文件。
在Flex4中,Image组件允许开发者轻松地展示静态图像和动态加载网络上的图片资源。 1. **Image组件介绍**: - Image组件是Flex的基础UI组件之一,用于在用户界面中显示图像。它可以显示JPEG、PNG、GIF、BMP等格式的...
在Flex开发中,MX组件库提供了DateField控件用于显示和选择日期,但默认情况下,它的日期格式和语言通常是英文。然而,在中国的应用环境中,我们往往需要使用中文日期格式。这篇博客将指导你如何通过自定义来实现...
在本场景中,我们将讨论如何在Flex中捕获组件的快照,将其转换为ByteArray,并通过JavaServlet将其导出为图片。 首先,让我们深入了解Flex中的组件快照。在Flex中,我们可以使用BitmapData类来捕获组件的视觉表示,...
本文将详细讲解如何在Flex中使用`<mx:Tree>`控件来创建可动态添加和删除节点的树形结构,以及相关的源码和工具应用。 `<mx:Tree>`控件是Flex MX组件库中的一个关键组件,它允许开发者展示层次化的数据,用户可以...
本篇文章将详细介绍如何在Flex中实现这一功能,并通过一个具体的示例——`zhuose.mxml`文件,来演示图片和组件着色的方法。 Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA)。它...
在Flex开发中,深入理解方法调用顺序是至关重要的,特别是在构建复杂的用户界面和应用程序时。Flex是一个基于ActionScript和MXML的开源框架,用于创建富互联网应用(RIA)。本篇我们将探讨Flex中方法调用的顺序,...
在.NET中,我们可以创建一个Web方法(WebMethod),如`GetEmployee`,该方法返回一个Employee对象。在Flex前端,我们使用WebService组件连接到这个Web服务,并指定相应的wsdl地址。当用户点击按钮时,`GetEmployee`...
在ItemRenderer中,可以使用`mx.controls.Image`或`spark.components.Image`组件加载图片。你需要监听`data`属性的变化,以便在数据改变时更新图片源。 3. **分配ItemRenderer**: 在DataGrid的`<mx:columns>`或`...
在Flex开发中,图片放大缩小功能是一个常见的交互需求,它...总的来说,Flex中的图片缩放功能主要涉及`mx:Image`组件、按钮事件监听和缩放算法。通过理解这些核心概念,您可以创建出具有交互性图片查看功能的应用程序。
Flex开发工程发布到Tomcat下是一项常见的操作,尤其在基于Flex前端和Java后端的混合开发项目中。这里,我们将详细讲解如何将Flex项目部署到Apache Tomcat服务器上,以便于运行和测试。 首先,Flex是一种用于创建富...
本篇将聚焦于如何使用Adobe Flex来实现分页显示功能,特别是通过mx:DataGrid组件。 Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。mx:DataGrid是Flex提供的一个强大组件,可以...
根据提供的文件信息,我们可以深入探讨FLEX中的_HTTPService组件及其使用方法。此组件主要用于与Web服务进行通信,例如从服务器获取或发送数据。下面将详细解释如何使用_HTTPService组件,并通过示例代码来展示其...
在本文中,我们将深入探讨如何在Flex-web工程中加载Tomcat服务器下的XML文件。这个过程涉及到Flex编程、HTTP请求以及XML数据处理等多个知识点。首先,让我们解析标题和描述中的关键信息。 标题:“flex-web工程载入...
在Flex开发中,`MenuBar`组件是一个常用的菜单栏控件,用于展示层次化的选项。本教程将深入探讨如何从数据库中动态加载图片到`MenuBar`,以创建更加丰富的用户界面。这一过程涉及到数据绑定、自定义渲染器以及与后端...
本文详细介绍了如何在Flex中实现鼠标悬停时图片放大效果,包括使用Zoom组件进行整体缩放、Image组件实现单个图片缩放以及编写事件处理器的方法。此外,还涉及到了其他一些增强用户体验的功能。希望这些信息能够帮助...
- **组件构建**:在Flex中引用素材并构建组件,例如使用`Image`组件作为`ItemRenderer`。 示例代码: ```xml <mx:DataGridColumn headerText="满意度" dataField="sat"> <mx:itemRenderer> <mx:Component> ...
`<mx:Image>` 和 `<mx:VBox>` 控件分别显示书籍的封面图片和标题作者信息。 #### 三、使用 MXML 和 ActionScript 定义 ItemRenderer 当需要更复杂的逻辑或交互时,仅依靠 MXML 来定义 ItemRenderer 可能不够。这时...