【问题标题】:Flex 4.5.1 check whether file exists in assets folderFlex 4.5.1 检查资产文件夹中是否存在文件
【发布时间】:2013-04-29 12:20:15
【问题描述】:

我正在使用 flex 4.5.1 构建一个在 tomcat 服务器上运行的 Web 应用程序。 我有一个资产文件夹,在这个文件夹中我有一些文件。我从创建的 xml 文件中检索文件的名称

我的问题是我无法检查给定的文件名是否在资产文件夹中。从我在互联网上的搜索中,我看到您可以使用 File 类,但我在 flex 4.5.1 中没有该导入,当我添加包含文件系统库的 airglobal.swc 外部库时,应用程序在运行 2 或 3 秒后自行冻结当我删除 airglobal.swc 时,它工作正常。

有什么方法可以检查assets文件夹中是否存在文件?

感谢您的帮助。

【问题讨论】:

  • 您不能在 Web 应用程序中使用 AIR 库。您如何访问服务器上的文件? HTTP?
  • srv.lastResult.person.image 是相对于资产文件夹的文件路径,我有图像持有者 personImage。当我想更改图像时,我执行以下“personImage.source = srv.lastResult.person.image”,它会读取并在屏幕上显示图像
  • 然后你必须给出一个 URL,它是 HTTP。对吗?
  • 我使用 http 服务从 url 获取文件名,并在 fx:Script "personImage.source = srv.lastResult.person.image" 的 mxml 部分中获取文件名,我这样做并且它有效,但没有给出图片显示断开的链接

标签: actionscript-3 apache-flex flex4.5


【解决方案1】:

检查一个 URL 是否存在:

import flash.events.HTTPStatusEvent;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;

var loader:URLLoader = new URLoader();
loader.addEventListener(IOErrorEvent.IO_ERROR, onError);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onStatus);
loader.load(new URLRequest("http://url of your file"));

private function onStatus(e:HTTPStatusEvent):void
{
    trace(e.status);
}

private function onError(e:IOErrorEvent):void
{
    trace( e.text);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 2011-11-15
    相关资源
    最近更新 更多