首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

最近用flex做了个简单的MP3播放器,放在jsp页面测试遇到了一些关于安全沙箱的有关问题

2013-12-30 
最近用flex做了个简单的MP3播放器,放在jsp页面测试遇到了一些关于安全沙箱的问题播放器界面:jsp工程目录结

最近用flex做了个简单的MP3播放器,放在jsp页面测试遇到了一些关于安全沙箱的问题
播放器界面:
最近用flex做了个简单的MP3播放器,放在jsp页面测试遇到了一些关于安全沙箱的有关问题
jsp工程目录结构如下:
最近用flex做了个简单的MP3播放器,放在jsp页面测试遇到了一些关于安全沙箱的有关问题
MP3播放器中:加载音乐文件的flex代码如下:
      第一个版本(对应jsp工程里的:mp3_2.swf文件):
var Mp3:URLRequest = new URLRequest("http://localhost:8080/test_mp3Player/1.mp3");
      第二个版本(对应jsp工程里的:mp3.swf文件):
        var Mp3:URLRequest = new URLRequest("G:\\1.mp3");
因为,这个播放器是放在jsp页面上测试的,因此,用了两个版本来测试,播放器中通过”Alert.show("-----fff----"+flash.system.Security.sandboxType);“来打印播放器的安全沙类型,

test_1.jsp页面测试的是:mp3.swf
test_2.jsp页面测试的是:mp3_2.swf

test_2.jsp页面,可以访问到服务器上的资源,这个没问题
最近用flex做了个简单的MP3播放器,放在jsp页面测试遇到了一些关于安全沙箱的有关问题

但是问题在于,test_1.jsp页面就访问不到本地的资源
最近用flex做了个简单的MP3播放器,放在jsp页面测试遇到了一些关于安全沙箱的有关问题

我查了下资料,知道这是flex的安全沙问题,于是在我的tomcat的D:webapps\ROOT下面加入了策略文件:crossdomain.xml
内容如下:
      [align=center]   <?xml version="1.0"?>        
         <!DOCTYPE cross-domain-policy        
         SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">        
         <cross-domain-policy>        
         <allow-access-from domain="*" />        
         </cross-domain-policy>   [/align]
还是报错:SecurityError: Error #2148: SWF 文件 http://localhost:8080/test_mp3Player/mp3.swf 不能访问本地资源 file:///G:/1.mp3。只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。



不知道是哪里错了,希望大家可以帮我解决下,谢谢




[解决办法]
 在C:\windows\system32\Macromed\Flash\FlashPlayerTrust 下面(如果没有FlashPlayerTrust目录则需要创建一个),创建一个文本文件,例如dev.txt,把开发时要运行的swf所在目录每个目录一行,写到dev.txt文件中,例如:

E:\flexprojects\fmstest\

E:\flexprojects\VideoPlayer\

这样这些目录中的swf文件在运行时的安全沙箱类型就变成了” Security.LOCAL_TRUSTED”, 可以随意访问本地或者远程的资源了
[解决办法]
Security.allowDomain("*")
Security.loadPolicyFile(项目域名+"/crossdomain.xml");
试试

[解决办法]
用IP进行访问,不要用localhost。
[解决办法]
crossdomain.xml
[解决办法]
个人经历供参考:
1:不要用localhost  要全部改成相应的ip
2: 在你的服务器上的项目根路径下添加crossdomain.xml    文件的内容如下
<?xml version="1.0"?>
<cross-domain-policy>
<!--
这里的domain可以换成你指定的ip,就是客户端得ip
-->
  <allow-access-from domain="*" />
</cross-domain-policy>




以上两点希望能帮上你

热点排行