0

我在 Flex AS3.0 中创建了一个组件 MyImage.mxml 来检查文件是否存在。如果它存在,那么我们使用这个路径作为我的图像的来源。否则,我们加载“unknownperson”图像。代码如下所示:

<mx:Image xmlns:mx="http://www.adobe.com/2006/mxml"
 >
<mx:Script>
    <![CDATA[
        import mx.events.ListEvent;
        import mx.managers.PopUpManager;
        import mx.controls.Alert;
        import mx.controls.Text;
        import mx.events.DataGridEvent; 

        override public function set source(value:Object):void
        {
                Globals.miniImage = value.toString();
                var _loader:Loader = new Loader();
                _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function(e:Event):void{
                    Globals.miniImage = Intitule.getIntitule('urlPhoto',Globals.languageCode) + "unknownperson_" + Globals.languageCode + ".jpg";
                });
                _loader.contentLoaderInfo.addEventListener(Event.COMPLETE,function(e:Event):void{}); 
                _loader.load(new URLRequest(encodeURI(value.toString()))); 
                super.source = Globals.miniImage;

        }



    ]]>
</mx:Script>

它运行良好,并且可以按应有的方式加载图像。但是,当我打开 Fiddler 检查所有调用时,加载“MyFlexProject/%20”时有时会出现 404 错误

这仅在尝试加载图像时发生。

为什么要尝试转到“%20”页面(显然找不到)?在加载图像时我做错了什么吗?

谢谢

4

1 回答 1

1

转换为答案,以便您可以接受并关闭问题

%20 是空格字符的 URL 编码。

您的内容中必须有一个额外的空间。也许您应该在 VALUE 对象上调用字符串修剪函数并在修剪后字符串长度为 0 时中止下载?

于 2013-08-27T22:43:27.487 回答