2009-08-13 17 views
1

通常、私はURLLoader経由でPHPスクリプトに情報を送信するときに、PHPがさまざまな成功コードを返すようにするため、PHPが返す成功コード(0は失敗、1は成功、2はいくつかその他のエラーコードなど)。fileReferenceのアップロード後に情報を取得しますか?

私はそれにデータの束(名前、電子メール、誕生日など)を提出し、ファイルをアップロードしようとしています。私はファイルをアップロードするためにfileReferenceを使用しており、アップロード要求と共に追加の変数を送信しています。情報は私のPHPファイルにしています。しかし、私はPHPファイルから情報を取得する方法を見つけることができません。つまり、ファイルが正常に読み込まれた場合は「成功= 1」、MySQLデータベースにデータを挿入するときにエラーが発生した場合は「成功= 2」などとPHPが返すようにしたいが、現在のところPHPから情報を取得する方法を理解する。通常は_myURLLoader.dataを見ることができますが、この例では実際にファイルのビットマップデータである_fileReference.dataを参照する必要があります。

誰もが考えている?

ありがとうございます!

-エーテル

答えて

0

私はいくつかをチェックします。

まず、error_reportingをどのように設定していますか? PHPでエラーが発生している可能性があり、実行が停止したため何も出力されません。

また、error_log()関数を使用して、出力内容をログで確認してください。

2

httpステータスを使用すると、ファイルをアップロードするときに起こる現象をフラッシュに伝えることができます。 PHP側で

、ファイルをフラッシュ伝えるためには、私は次の操作を行う受信されませんでした。

if(!isset($_FILES['Filedata']['name'])) 
{ 
header("HTTP/1.x 500"); 
print "RESULTS=FAIL"; 
exit(); 
} 

ファイルは、私が欲しいものよりも大きい場合:

if(!isset($_FILES['Filedata']['size']) > $maximumuploadsize) 
{ 
header("HTTP/1.x 406"); 
print "RESULTS=FAIL"; 
exit(); 
} 

次に、フラッシュ側で、次のような.onHTTPErrorリスナーを設定します。

photo.onHTTPError = function(file:FileReference, httpError:Number) 
{ 
switch (httpError) 
{ 
case 500: 
// Handle missing file 
break; 
case 406: 
// Handle file too large 
break; 
} 
} 

Bill H

1

Flash Player 9.0.28.0(私だと思いますが)uploadCompleteDataイベントを使用することができます。その前に、Bill H ^^によって記述されたテクニックを使用しなければなりませんでした。

0

あなたのシステムにFiddlerをインストールするという全く別の方法があります。 httpsトラフィックを扱っているなら、それを使ってあなたのNIC経由ですべての送信を解読することができます。これはあなたのフレックスアプリがレスポンスを扱うのには役立ちませんが、デバッグ/開発中にサーバーのフィードバックを観察することができます。

+0

さらに重要なことに、実際に送信されているファイル参照を正確に見ることができます。 FileReferenceは、使用されているブラウザに関係なく、Windows上のWinInitユーティリティを使用することに注意してください。これにより、データを取得するためのチャンスが作成されます。証明書/認証に関する問題がある場合はアップロードをブロックすることさえできます。 – TroyJ

関連する問題