SWF 文件不能被本地访问 不能访问本地 只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源

问题描述:

前几天帮朋友做了一个结婚的AR小软件,朋友运行后出现如下错误:

SecurityError: Error #2148: SWF 文件 file:///F:/AR/FLARManager_v1_0_3/bin-debug/FLARManagerExampleLauncher.swf无法接续 file:///F:/AR/FLARManager_v1_0_3/resources/flar/flarConfig.xml 。只有本地系统的SWF文件 以及被信頼的本地 SWF源文件才可接续。

at flash.net::URLStream/load()
at flash.net::URLLoader/load()
at com.transmote.flar.utils::FLARManagerConfigLoader/http://transmote.com/flar::loadConfigFile()[C:\Users\Could\Desktop\FLARManager_v1_0_3\src\com\transmote\flar\utils\FLARManagerConfigLoader.as:152]
at com.transmote.flar::FLARManager()[C:\Users\Could\Desktop\FLARManager_v1_0_3\src\com\transmote\flar\FLARManager.as:180]
at examples::FLARManagerExample_2D/onAdded()[C:\Users\Could\Desktop\FLARManager_v1_0_3\src\examples\FLARManagerExample_2D.as:39]
at flash.display::DisplayObjectContainer/addChild()
at FLARManagerExampleLauncher()[C:\Users\Could\Desktop\FLARManager_v1_0_3\src\FLARManagerExampleLauncher.as:18]

问题解决:

在C:\WINDOWS\system32\Macromed\Flash\FlashPlayerTrust目录下添加一个文件,比如:myTrustFiles.txt(文件名可任意起),文件内容为:“F:\AR\FLARManager_v1_0_3\bin-debug\”即项目的路径,当然也可以设置为“F:\”

或者所以盘符都写上:

c:\
d:\
e:\
f:\

PS:以下是其他操作系统的解决方案

======================================================

说明:

为了让你的Flash在用户硬盘中拥有同时访问网络和本地的能力,你必须在用户计算机的FlashPlayerTrust目录中为你的Flash添加权限。转载请注明出处:hi.baidu.com/taotao5453

  • FlashPlayerTrust 配置文件。这些是列出受信任路径的简单文本文件。这些文件由可执行的安装程序创建。当安装程序将 SWF 安装到用户的计算机时, 它能够安装信任的配置文件并指定 SWF 是受信任的。当该做法没有表现用户显式决定每个受信任的 SWF 时, 该用户已通过运行安装程序将信任隐式给予它, 毕竟它是可执行程序。Flash Player 可识别以下两个位置的信任配置文件: 影响计算机所有用户的位置和只影响当前用户的位置。所有用户位置需要操作系统级别的管理权限。这些位置如下:
    • Windows 所有用户:<系统 › \Macromed\Flash\FlashPlayerTrust

      (例如 c:\WINNT\system32\Macromed\Flash\FlashPlayerTrust)

    • Windows 单个用户:<应用程序数据 › \Macromedia\Flash Player\#Security\FlashPlayerTrust

      (例如 c:\Documents and Settings\fred\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust)

    • Mac OS 所有用户:<应用程序支持 › /Macromedia/FlashPlayerTrust

      (例如 /Library/Application Support/Macromedia/FlashPlayerTrust)

    • Mac OS 单个用户:<应用程序数据 › /Macromedia/Flash Player/#Security/FlashPlayerTrust

      (例如 /Users/fred/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust)

      -Lunix 用户

    • For single-user (replace <user> with actual username):
      /home/<user>/.macromedia/Flash_Player/#Security/FlashPlayerTrust
    • For all users on the machine:
      /etc/adobe/FlashPlayerTrust/