2011-07-14 7 views
1

私はこの問題が広告の嫌がらせになっていることを知っています。しかし、それは私が立ち往生しているように見えるだろう。私はローカルマシン上で正常にテストされたFlashでファイルアップローダを作成しました。ただし、プロダクションサーバーに移動して別のマシンからアクセスしようとすると、PHPは呼び出されません。当初、セキュリティ例外がスローされましたが、crossdomain.xmlファイルの作成後に解決されています。ドメイン間の問題。ファイルのアップロードとAdobe Flash

私は、それが呼ばれていますかどうかを確認するには、PHPファイル内のいくつかのロギングと無サイコロを配置しました。ローカルで実行されていると呼ばれますが、私が言ったように、クロスドメインはそれほどではありません。

私のcrossdomain.xmlファイルは、次のようになります。

<?xml version="1.0"?> 
<cross-domain-policy> 
    <allow-access-from domain="*" /> 
</cross-domain-policy> 

私はFlashやサーバー上のいずれかの構成で行う必要がある何か他のものはありますか?

答えて

3

新しいクロスドメイン形式試みることができる:私はフラッシュでfimiliarないのですが、私はいくつかのフレックスアプリケーションを開発していますので、私はあなたにクロスドメインの問題に対処するための私の経験を与えることができ

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="all"/> 

    <!-- Place top level domain name --> 
    <allow-access-from domain="*" /> 
    <allow-access-from domain="*" to-ports="80,443"/> 
    <allow-http-request-headers-from domain="*" headers="*" /> 

</cross-domain-policy> 
+0

ie8から私のサーバーにフラッシュでリクエストを送信できません。このcrossdomain.xmlを適用した後でも、自分のサーバー上で要求を取得できません。どんな考え? –

+0

エラーが発生しますか? (チャールズプロキシのような)プロキシで呼び出しをデバッグし、サーバの応答が何であるかを調べてみてください。 – pkyeck

+0

ヒットがサーバに届かない。 FFとChromeではすべてが完全に機能します。これは、画像をサーバーにアップロードするためにMultipartURLLoaderを使用して画像データを送信する場合に固有です。 [ここに](http://stackoverflow.com/q/9438046/652895)完全な説明 –

0

を。

のFlashPlayerが、例えば、URLのドメインルートでのcrossdomain.xmlファイルを探しています

domain.com/crossdomain.xml 

は、FlashPlayerが見つけたい場所です。したがって、上記のURLを入力してクロスドメインファイルを読み込むことができます。

ただし、サーバー上の別の場所からcrossdomain.xmlファイルをロードするためにSecurity.loadPolicyFile(url)を使用することができます。

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM “/xml/dtds/cross-domain-policy.dtd”> 
<cross-domain-policy> 
<site-control permitted-cross-domain-policies="all"/> 
<allow-access-from domain="*" to-ports="*" secure="false"/> 
<allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
</cross-domain-policy> 

このファイルには何もへのrestricitionを意味していないので、これはトラブルシューティングのために良いが、生産には適していません。

は、次のcrossdomain.xmlを試すことができます。また

、あなたはすでにあなたのフラッシュファイルにローカルホストからドメイン名へのURLを変更したかどうかを確認するためにあなたのコードをチェックする必要があります。

クロスドメインの問題は、クロスドメインファイルに関連しないことがあります。例えば

: では、ファイルアップロードのための777に、サーバー上のディレクトリをchmodしてもらいます。

あなたは、次の質問に私の答えを参照することができます:あなたは私たちにいくつかのフラッシュとPHPのコーディングとあなたが受けているにもエラーメッセージを与えるべきである flex actionscript not uploading file to PHP page HELP!

。それ以外の場合、あなたの質問はあまりにも一般的です。

関連する問題