loder导致的安全沙箱的2122错误

前两天在做loader加载图片的时候,虽然在服务端的Root下面已经有crossdomain.xml的跨域文件,但却意外的发现仍然报出了安全沙箱的错误,当然最后还是解决了,只能说,flash的安全性真是很麻烦:

A机:发布地图服务端(spring),中间件为tomcat 5.0

B机:客户端SWF

 

Flex Code:

 

代码
var imgSource : String = SysConfig.symbolServiceURL + "/" + eventInfo.subTypeID + ".gif";
var imageLoader:Loader 
= new Loader(); 
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,partImageLoadComplete);
imageLoader.load(
new URLRequest(imgSource));

 

 

问题:当客户端访问时,报出如下错误:

加载或要素对象失败!Error #2122:

安全沙箱冲突:LoaderInfo.content:http://192.168.0.69:8088/hzcg/home/map/gis/MainMapClient.swf

不能访问 http://192.168.0.247:8085/flex/symbol/custom_1.gif。需要一个策略文件,但在加载此媒体时未设置 checkPolicyFile 标志。

 

解决办法:

var imgSource : String = SysConfig.symbolServiceURL + "/" + eventInfo.subTypeID + ".gif";

var imageLoader:Loader = new Loader();

imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,partImageLoadComplete);

var lc:LoaderContext = new LoaderContext(true);

lc.checkPolicyFile = true;

imageLoader.load(new URLRequest(imgSource),lc);  
posted @ 2010-04-06 09:32  GIS小能  阅读(828)  评论(0编辑  收藏  举报