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

Flex中Image加载图片出错时显示默认图片的几种方法&url中文问题

    博客分类:
  • flex
阅读更多

Flex中Image加载图片出错时显示默认图片的方法主要有以下几种:

方法一:利用 brokenImageSkin 风格显示一个默认的图,只需设置CSS就行了,如下:
<mx:Style>
     Image {
         brokenImageSkin: Embed("assets/404.jpg");
     }
</mx:Style>

方法二:监听Image组件的IOErrorEvent.IO_ERROR事件,代码如下:
private function errorHandler():void
{
    image.source = "assets/404.jpg";
}
<mx:Image id="image" source="http://不存在.jpg" ioError="errorHandler()"/>


方法三:继承Image类,覆盖其set source方法,如下:
override public function set source(value:Object):void
{
    if(!value || value == ""){
        value = "assets/404.jpg";
    }
    super.source = value;
}


推荐使用第三种方法,因为第一种方法跟第二种方法有个共同的缺点,如下情况:
<mx:Image id="image" source="" ioError="errorHandler()"/>
此时无论是第一种方法还是第二种方法都不会显示默认图片,而第三种方法就可以解决这个问题。
第三种方法具体实现及使用方法如下:


MyImage.as

package
{
import flash.events.IOErrorEvent;

import mx.controls.Image;

public class MyImage extends Image
{
private var defaultImage:String = "assets/404.jpg";

public function MyImage()
{
this.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}

override public function set source(value:Object):void
{
if(!value || value == ""){
value = defaultImage;
}
super.source = value;
}

private function ioErrorHandler(event:IOErrorEvent):void
{
super.source = defaultImage;
}
}
}


Main.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
<local:MyImage id="image" source=""/>
</mx:Application>

推荐使用第三种方法。

 

 

 

 

 

image url中文问题

var fileurl : String = encodeURI("./Image/input/研发部/22.jpg");
image.source = fileurl;
还要把你的tomcat的编码格式设为utf-8;设置方法为:tomcat安装目录下的conf/server.xml的 <Connector port="8080" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="8443"
 URIEncoding="UTF-8" />

 

JOBSS目录\jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml

分享到:
评论

相关推荐

    flex加载动态图片

    flexBulider页面加载动态图片的显示

    Flex 动态加载 Image 和 Icon 解决方案

    本文将深入探讨如何在 Flex 中动态加载 Image 和 Icon,这对于创建响应式和灵活的应用程序至关重要。动态加载资源可以显著提高应用程序的性能,减少启动时间和内存消耗。 在 Flex 中,我们可以使用 `Loader` 类来...

    Flex中加载SWF方法

    Flex中加载SWF方法,介绍了flex 对 swf 加载和处理

    flex图片显示 很绚丽的图片显示

    3. 动态加载图片:如果图片的来源是动态的,例如从服务器获取,可以使用`load()`方法来异步加载图片。 ```actionscript var imageLoader:Loader = new Loader(); imageLoader.contentLoaderInfo.addEventListener...

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

    总结,通过上述步骤,我们可以成功地在Flex的`MenuBar`中实现从数据库动态加载图片的功能。这个过程涉及到了Flex的组件渲染机制、数据绑定、HTTP服务调用以及JSON数据解析。这样的功能可以显著提升应用的用户体验,...

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

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

    Flex 预加载动画demo

    这个"Flex 预加载动画demo"是Flex应用中的一个实例,它展示了如何自定义预加载进度条动画,使得用户在等待应用程序加载时能有一个更友好的交互体验。 预加载是任何富媒体应用程序的关键部分,因为它确保了所有必要...

    Flex 自定义组件ImageViewer

    Flex是Adobe开发的一种开源框架,主要用于构建富互联网应用程序(RIA)。在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的...

    flex css动态加载

    在本文中,我们将深入探讨“Flex CSS动态加载”这一主题,这是前端开发中一个非常重要的概念,尤其是在构建响应式和高性能的Web应用时。Flex CSS允许我们动态地改变页面布局,根据用户行为或屏幕尺寸调整元素的位置...

    flex 两个图片播放小程序

    对于图片的显示,Flex中的Image组件是关键。Image组件可以加载网络上的图像或者内存中的BitmapData对象,并提供基本的缩放和显示功能。若要实现更复杂的交互,如平滑缩放,可能需要自定义组件,覆盖其...

    flex 动态载入外部图片

    - **处理安全问题**:跨域加载图片时,可能需要处理安全策略文件。如果服务器返回了正确的跨域策略文件,可以正常加载;否则,可能需要禁用安全检查。 3. **最佳实践**: - 使用URLRequestMethod.GET请求方式,以...

    Flex运行时加载ICON

    在Flex编程中,我们有时需要在程序执行过程中根据需要加载图标或者图片,而不是在编译时静态地将它们嵌入到应用中。这种动态加载可以节省应用的初始加载时间,也可以实现更灵活的界面设计。 描述中提到的博客链接...

    Flex动态创建DataGrid设置图片

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

    Flex TileList图片展示(相册)

    在Flex编程中,TileList控件是一个非常有用的组件,它允许开发者以网格布局显示数据集中的项。在本例“Flex TileList图片展示(相册)”中,我们看到TileList控件被巧妙地用于创建一个类似QQ相册的图片浏览体验。...

    flex svg代码生成图片

    动态加载 SVG 图片可以实现大量的 SVG 图形资源直接在 Flex 应用程序中使用。 三、解析 SVG 文件 解析 SVG 文件是动态加载 SVG 图片的第一步。可以遍历 SVG 文件,遍历 SVG 代码,获取 SVG 文件的宽度和高度,并将...

    flex 异步加载tree

    为了提供更好的用户体验,在加载数据时显示加载图标是一个常见的做法。此外,还可以添加进度条等其他形式的UI反馈。 综上所述,Flex中的异步加载Tree组件是一个非常实用的功能,可以帮助开发者在处理大量数据时提高...

    图片压缩flex demo

    "imageLoading"这个文件名可能表示该示例涉及加载图片到应用程序中,然后进行压缩。在Flex中,可以使用Loader类来加载图片资源。一旦图片加载完成,可以将Loader实例的内容转换为BitmapData对象,这样就可以访问像素...

    flex中moduleLoader加载module时传递参数源代码

    在Flex开发中,`ModuleLoader` 是一个关键组件,它允许开发者动态地加载MX模块(即Flex模块,独立的SWF文件)。`ModuleLoader` 的主要功能是将模块的加载过程与应用程序的其余部分分离,这有助于实现代码的模块化和...

    flex加载swf的N种方法.zip

    flex加载swf的N种方法.zip

    Flex 上传图片 预览 加载图片到内存

    本篇文章将详细讲解如何在Flex中实现实时图片预览和加载图片到内存的技术。 首先,我们要明白Flex中的图片处理主要是通过`mx.controls.Image`组件来完成的。`Image`组件可以显示静态图像,如JPEG、PNG和GIF格式。...

Global site tag (gtag.js) - Google Analytics