2010-12-18 2 views
1

Flashを使用して(Facebookのアプリケーションの)phpファイルにByteArray(PNG画像の)を送信したいと考えています。 ByteArrayをPOSTデータ全体ではなくPOST変数として送信する方法がありますか?Actionscript ByteArrayをPOST変数として送信

ここにはほとんど同じ質問があります:How can I send a ByteArray (from Flash) and some form data to php?ですが、問題は異なります。リクエストの他の部分で他の変数を密輸するのではなく、Facebookが投稿データを守って独自の迷惑メールに入れるため、イメージ自体を変数として送信する必要があります。

これはすべて可能ですか?そうでない場合は、byteArray以外の形式でイメージを送信できますか?

答えて

0

最も簡単な方法は、画像を送信する前にbase64でエンコードすることです。それは単なる文字列であり、それを通常のPOST変数として渡すことは安全です。

PHP側では、この文字列をbase64_decodeにするだけで、画像データをファイルに保存したり、必要なものを保存することができます(操作する必要がある場合はGDなどのライブラリにもフィードできます)。最初に)。

もう一つの選択肢は、ファイルを送信するためにHTMLフォームを使用するのと同じように、少なくとも理論上はmultipart/dataを使用していますが、正しくリコールすれば、このメソッドを使用してファイルを送信することはできませんバージョン9.0.124まで、これは可能でした)。

したがって、base64は簡単でシンプルで、オーバーヘッドが増えます。ファイルペイロードの1/3はサイズと処理時間の点では若干ですが、ほとんどの場合、これは大きな問題ではありません。

+0

ありがとうございます。私はこのクラスをbase64に使用しました:http://code.google.com/p/as3crypto/source/browse/trunk/as3crypto/src/com/hurlant/util/Base64.as – Lack

関連する問題