重要な点は2つです。 1 - SWFには、任意のドメインからバイナリデータを読み込む機能が必要です。 2 - SWF cant loadポリシーurlからのXMLファイル、アップロードフォームにより、私はswfファイルのみをアップロードできます。他のデータは含めることができません。Flash AS3 - URLLoaderは異なるドメインのバイナリデータをロードできません
Security.allowDomain("*");
をしかし、それは、SWFファイルに対してのみ動作します: 私が試してみました。 私はポリシーXMLファイルを埋め込むことを試みた:
var dataXML:XML =
<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>;
しかし、Security.loadPolicyFile(URL:文字列)のみ、ファイルのURLではなく、データを設定することができます。 私の質問は、SWFに別のファイルを持たないで別のドメインのバイナリファイルを読み込ませるにはどうすればいいですか? はURLLoaderコード:
var request:URLRequest = new URLRequest("http://differentdomain.com/binaryfile.dat");
var words:URLLoader = new URLLoader();
words.dataFormat = URLLoaderDataFormat.BINARY;
words.addEventListener(Event.COMPLETE, prepareFile);
words.addEventListener(IOErrorEvent.IO_ERROR, loadError);
words.addEventListener(SecurityErrorEvent.SECURITY_ERROR, secureError);
words.load(request);
ファイルがSWFファイルとは異なるドメインからである場合、これは、セキュリティエラーを行います。 ありがとうございました。
AS3コードでExternatInterfaceを使用してJavaScriptからバイナリデータを取得することは可能です。 バイナリファイルを読み込むためのクロスブラウザライブラリです:binary reader以降のバージョンjDataView これは誰かを助けることを望みます。 Jonatan Hedborgに感謝の意を表します。
aaa.comからファイルを読み込むには、aaa.com/crossdomain.xmlからcrossdomain.xmlを読み込む必要があります。それ以外の場合は動作しない可能性があります。 –
それは私のための冗談のように見えます。他の言語でもAS3ではなく、任意の場所からバイナリデータをダウンロードできますか? – speedy
セキュリティ上の問題です。それはまさにそれです。その周りの唯一の方法は、あなたのリクエストを中継することができるプロキシサーバーを設定することです。また、例えばsilverlightはクロスドメインローディングに対してより厳しい制限を持っていることに注意してください。したがって、このクォークでは唯一の言語ではありません。 –