FlashPlayer10でのファイルダウンロード

http://weblogs.macromedia.com/akamijo/archives/2008/10/flash_player_10_11.html
セキュリティ関連の変更で、ファイルのアップロード/ダウンロードはユーザ操作によるイベントハンドラでのみ実行できるようになったそうです。この影響で、集計レポートファイルのダウンロード機能が動かなくなってしまいました。

  1. 集計条件をS2Flex2でサーバに送信して、集計レポートファイルを生成して、sessionに入れる
  2. 1の完了通知のイベントハンドラで、ファイルダウンロードを実行する

上記2がユーザ操作によるイベントハンドラではないので、FlashPlayer10では動かなくなりました。いろいろ試しているのですが、良い方法が見つかりません。

  • ファイルダウンロードをJavaScriptで実行すると、ブラウザによってはファイル名が文字化けしたり、セキュリティの警告が出てSWFがリロードされたり
  • ファイルダウンロードのURLパラメータに集計条件を追加しようにも、集計条件が複雑で量が多いと文字列化も大変だし、URLの長さにも制限があったはず

なんか良い手はないものか。

追記

  1. 集計条件をS2Flex2でサーバに送信して、集計レポートファイルを生成して、sessionに入れる
  2. 1の完了通知のイベントハンドラで、Alert.show("ダウンロードの準備が完了しました。\nダウンロードを実行しますか?", "確認", Alert.YES | Alert.NO)を表示する
  3. 2のCloseEvent.detailがYESなら、ファイルダウンロードを実行する

上記3がユーザ操作のイベントハンドラなので、FlashPlayer10で動くようになりました。確認ダイアログを入れるのは嫌なんだけどね。