flash: 2009年7月アーカイブ

HTML側の記述は
http://www.two-ways.com/mt/usakorog/2005/10/htmlflash.html
に記載。


例として、
○○.swf?start=5
のようにstartという変数に5という値が入ってきたとします。


■FLASHでのパラメータ取得
loaderInfo.parameters
で取得できます。


loaderInfo.parameters.start
と書いたり、
var flashVars:Object = loaderInfo.parameters;
flashVars['start']
と書いたりしてstartに入ってきた値を利用できます。


■FLEXでのパラメータ取得
parameters.start
で取得できます。
parameters.start
と書いたり、
var flashVars:Object =parameters;
flashVars['start']
と書いたりしてstartに入ってきた値を利用できます。


FLEXの場合、loaderinfoはnullになっちゃうので、注意!(ハマってしまった)

flashとPHPで連携させてファイルをアップするとき、PHPでファイルのアップ状況を
成功したら、
code=1

失敗したら、
code=0&errmsg=エラーメッセージ
で返す時に、そのデータの受け取り方。

uploadCompleteData、e:DataEvent、e.dataがポイント


■ソース(必要部分のみ一部抜粋)
private var fileRef:FileReference = new FileReference();
private function Init():void{
bt_fileup.addEventListener(MouseEvent.CLICK,fileBrowseHandler);//ボタンクリック
fileRef.addEventListener(Event.SELECT, fileSelectHandler);//選択終了
}

//ファイル選択
private function fileBrowseHandler(event:Event):void{
try {
var success:Boolean = fileRef.browse();
} catch (error:Error) {
//エラー処理
}
}
//ファイルアップ
private function fileSelectHandler(event:Event):void {
try {
var request:URLRequest = new URLRequest("upload.php");
request.method = URLRequestMethod.POST;
fileRef.upload(request, "file", false);
fileRef.addEventListener("uploadCompleteData", fileCompleteHandler);
} catch (error:Error) {
//エラー処理
}
}

//アップ完了
private function fileCompleteHandler(e:DataEvent):void {
var v:URLVariables = new URLVariables(e.data);
if(v.code == 1){
textmessage.text = "ファイルのアップロードに成功しました。";
}else if(v.code==0){
textmessage.text = v.errmsg;
}
}