我正在使用闪存调试播放器(版本16),我正在尝试从闪存as3中访问用户照片。首先,我收到的安全错误,就在这里。
SecurityError:错误#2122:安全沙箱违规:Loader.content:http s://graffiti-galore.herokuapp.com/fb/GraffitiGalore.swf?build = 0001无法访问http s:// fbcdn-profile- a.akamaihd.net/hprofile-ak-xfp1/v/t1.0-1/c46.46.570.570/s50x50/398269_10152199084495525_2139734276_n.jpg?oh=29be37fd74f7d338a7b5c23b9aadd474&oe=5548F552&gda=1431395518_d142c304e8b8afa8df340e6cac093b29 。策略文件是必需的,但加载此媒体时未设置checkPolicyFile标志。 在flash.display :: Loader / get content() 在PictureBox / onCompleteLoadingImage()
我正在使用正在提供的免费Heroku dino,我只是对图形api用户对象进行了一次调用。获取id,first_name,last_name,picture。
图片网址在https facebook服务器上托管。
如上所述的链接。出于某种原因,每当从我的flash as3 facebook app加载图像时,我都会收到此安全错误。
以下是我用于获取图片的代码。
[代码] public function setupPhoto(url:String):void { removeAllChildren()删除;
var urlRequest1:URLRequest = new URLRequest(url);
this.loader1 = new Loader();
this.loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteLoadingImage);
this.loader1.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onErrorLoadingImage);
this.loader1.load(urlRequest1);
//imageLoader = new ImageLoader(url);
//imageLoader.addEventListener(Event.COMPLETE, onCompleteLoadingImage);
//imageLoader.load();
}
private function onErrorLoadingImage(e:IOErrorEvent):void
{
debugPanel.writeLine("ERROR LOADING IMAGE!!!");
debugPanel.writeLine(e.text);
}
public function onCompleteLoadingImage(e:Event):void
{
//var sprite:Sprite = this.loader1.content as Sprite;
//updatePicture(sprite);
updatePicture1(this.loader1.content);
}
[/代码]
答案 0 :(得分:1)
这适用于Facebook:
var lc:LoaderContext = new LoaderContext(true, null, null);
// now add the LoaderContext to your loader
this.loader1.load(urlRequest1, lc);
您不必每次都创建一个LoaderContext,只需创建一次并随处使用。