- OpenLaszlo紹介
- プログラム構造関連
- スクリプト
- Javascript基礎
- 基礎知識
- ビュー<view>
- レイアウト
- 動かす
- 入力デバイス
- 文字
- 数値
- 日付
- オブジェクト指向
- 標準コンポーネント
- データの扱い
- データ操作(基礎)
- 応用編
–
サンプルでは、ダウンロードする実ファイル名は英字(downloadtest.txt)ですが、LZXで日本語ファイル名(ダウンロードテスト.txt)に変更しています。ダウンロードボタンを押すと、ダウンロード先選択ポップアップウインドウが出ます。
ファイルはウイルスチェック済みですが、実際にダウンロードしてみる場合は各自の責任で。
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <script> var fr = new flash.net.FileReference(); function download(url, defaultFileName){ if (typeof defaultFileName == 'string'){ return fr.download(url, defaultFileName); } else { return fr.download(url); } } </script> <button>ダウンロード <handler name="onclick"> var realfilename = "downloadtest.txt"; var downloadfilename = "ダウンロードテスト.txt"; var url="http://www.openlaszlo-ason.com/media/download/" + realfilename; download(url,downloadfilename); </handler> </button> </canvas>
ダウンロード完了イベントonCompleteを取得して、ダウンロードできたことを確認してみる。
[OpenLaszlo4.3.0/swf8]
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <script> var fr = new flash.net.FileReference(); function download(url, defaultFileName){ if (typeof defaultFileName == 'string'){ fr.download(url, defaultFileName); } else { return fr.download(url); } } var listener = new Object(); fr.addListener(listener); listener.onComplete = function(fr) { btn.setAttribute('text',"ダウンロード完了 [ファイル名:" + fr.name + "] / [サイズ:" + fr.size + "]" ); btn.setAttribute('enabled',false); } </script> <button name="btn">ダウンロード <handler name="onclick"> var realfilename = "downloadtest.txt"; var downloadfilename = "ダウンロードテスト.txt"; var url="http://www.openlaszlo-ason.com/media/download/" + realfilename; download(url,downloadfilename); </handler> </button> </canvas>
swf10でコンパイルしたものです。swf9はたぶんいけるでしょうけど未確認。
(OpenLaszlo4.6.1/swf10)
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <class name="as3downloader" extends="node"> <attribute name="fr" type="expression" value="null" /> <passthrough> import flash.net.FileReference; import flash.events.Event; import flash.net.URLRequest; </passthrough> <method name="exec"> var url = "http://www.openlaszlo-ason.com/media/download/downloadtest.txt"; var urlRequest = new URLRequest(url); var fr = new FileReference(); fr.download(urlRequest,"ダウンロードテストAS3.txt"); </method> </class> <as3downloader id="downloader"/> <button text="ダウンロード(as3)" onclick="downloader.exec()" /> </canvas>