一汁三菜

自分が楽しいと思うこと、マラソン、旅行、その他日々の記録をしたい。

URLLoaderが使いにくい

勉強ではなくて、ただの愚痴エントリ。Actionscript 3について中途半端な知識を持っただけのままで愚痴る。

Flash製作をしていて、自前でHTTPを喋る為に幾度と無く使ってきたURLLoader。しかしこいつが使いにくいことこの上無い。

データ受信の不便さ

load()で取得したデータは、Event.COMPLETEイベントが飛んでくるとdataプロパティを使って取得できる。しかし、Event.COMPLETEイベントが飛んでくるのを待つ為には、一旦Flashに制御を移さないといけない。

つまり、load()した関数の中で受信したデータを取得することが出来ない。なので、データの取得をリクエストする関数と、実際に取得する関数を別にするという設計にせざるを得ない。Flashにマルチスレッドだとか継続だとかいう概念があれば、関数の途中でFlash側に処理を渡す事も出来るんだろうけど。

この辺りは、URLLoaderの愚痴というよりも、Flash環境に対する愚痴といった方が正しい。

multipart/form-dataなPOSTによるファイルアップロードの機能が無い。

自分で実装すればいいだけの話だし、実際自前で書いた物を使いまわしてるけど。しかしこの位は自前で持っていて欲しい…。実際flash.net.FileReferenceだと出来るわけだし。ただし、FileReferenceだとユーザーがダイアログから指定したファイルのアップロードしか出来ないという罠。プログラム側で勝手にデータをアップロードする事は出来ない。

終わりに

実は何か良い方法があるのかもしれませんが、あったら教えて下さい。よろしくお願いします。