我想從AS3加載Facebook的個人資料圖像(朋友圖像),但我似乎遇到了安全問題。從ActionScript加載個人資料圖片與動作腳本3
我目前使用Actionscript 3的「官方」Adobe Facebook API工作正常。但是,在瀏覽器中運行我的應用程序時,我似乎無法加載配置文件圖像。在Flash IDE中運行時,圖像加載正常。
的圖像從https://graph.facebook.com
加載並似乎有在該域的crossdomain.xml策略:
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" secure="false" />
<site-control permitted-cross-domain-policies="master-only" />
</cross-domain-policy>
在其它來源我發現,裝載應的圖像時添加的ContextLoader我Loader對象解決問題,但這似乎並非如此:
loader = new Loader();
// add some listeners here...
loader.load(new URLRequest("imageurl"), new LoaderContext(true));
我不太確定如何進行此刻。我希望Adobe Facebook API能夠提供這方面的幫助,但我似乎無法找到解決此問題的任何事情。
任何幫助非常感謝。
UPDATE:
我注意到,當我訪問該實際上,我重定向到Facebook的CDN,其中實際圖像存儲在瀏覽器中的圖像之一。當我使用重定向的URL對圖像url進行硬編碼時,我可以在瀏覽器中加載圖像。看來,這不是一個安全問題,而是一個重定向問題。
如果這是一個重定向問題,那麼問題就會變成;我如何讓Flash Player從重定向的URL加載圖像?
更新2:
看來,URLRequest類具有followRedirects
財產僅在AIR提供。
更新3:
我目前使用一個PHP script讓我重定向的URL作爲一個變通,但這當然是遠遠不夠理想,並可能在我的服務器上一個巨大的壓力。
感謝盧克!我仍然需要在不同的項目上再次使用這個解決方案,很奇怪,它只是在這裏嗎? – daidai 2010-11-09 05:33:18
盧克,你是如何實現重定向的PHP?即時通訊仍然有問題。 – daidai 2010-11-09 06:15:37
@ martin的方法工作得很好。問題確實是由重定向造成的。我打電話給「http:// graph.facebook.com」,它重定向到Facebook的圖像服務器。除了'http:// profile.ak.fbcdn.net',Facebook還使用其他服務器。我找到的是'http:// external.ak.fbcdn.net'。多次調用'Security.loadPolicyFile'來解決這個問題 – 5566 2011-08-11 02:37:47