2011-10-25 16 views
0

私はFacebookとTwitterの両方からプロフィール画像を表示しようとしています。 Facebookのために、私が受けてるのURLは次のようなもの(ではない、実際のURL)は次のとおりです。そして、このように「実際」のURLにリダイレクトされフレックスセキュリティポリシーの実際のFacebookとTwitterのプロフィール画像のURLを取得する

http://graph.facebook.com/965412145/picture 

http://profile.ak.fbcdn.net/hprofile-ak-snc4/370471_9631690_1796253478_r.jpg 

私もよtwitterでこれをやって、同じ問題(リダイレクトされたURL)で。

イメージを読み込むと、読み込みに問題はありません。しかし、イメージが入っているコンテナを閉じると、セキュリティサンドボックス違反が発生します。

私はこのような「実際の」画像のURLからURLを追加する場合、私は仕事にこのすべてを取得することができます。

request = new URLRequest("http://profile.ak.fbcdn.net"); 
loader = new Loader(); 
context = new LoaderContext(); 
context.checkPolicyFile = true; 
loader.load(request, context); 

しかし、実行時に、私は実際に知らない何実際の "画像URLは、だから私はそのドメインをハードコードすることはできません(私もしたいです)。

正しいドメインをloadercontextに追加できるように画像の実際のURLを取得する方法はありますか(フレックス内から)?

アイデアがありがとうございます!

答えて

1

私が正しく理解していれば、別のソースにリダイレクトするURLからイメージを読み込もうとしていることが問題です。 リダイレクトされた URLが何であるかを知る必要があるため、イメージバイトの操作を許可するポリシーファイルをロードできます。

私が正しく理解している場合は、COMPLETEイベント(またはエラーイベント)をリッスンしてリダイレクトされたURLを検出してから、LoaderInfo.urlプロパティを参照する必要があります。このプロパティは、リダイレクトが発生した場合のエンドURLを反映します。たとえば、リスナーに次のようなコードがあります。

var ldr:LoaderInfo = event.target as LoaderInfo; 
var url:String; 
try 
{ 
    url = ldr.url; 
    // Split off URL base, load policy file, etc here 
} 
catch (e:Error) 
{ 
    // Unable to detect final URL due to error. 
} 
+1

はい、そうでした。本当にありがとう!また、http://help.adobe.com/jp/FlashPlatform/reference/actionscript/3/flash/system/LoaderContext.html#checkPolicyFileでドキュメントを検索しました。 – swatkins

+0

@swatkinsいいリンク。私は、リダイレクションの説明が新しいかもしれないと思います。なぜなら、何年も前にそれを見たことが覚えていないからです。助けてうれしい! –

関連する問題