眠るの大好き

子供のころは早起きだった。会社に入って睡眠時間がものすごく少なくなった。リバウンドで毎日眠くて眠くて…

FileReferenceで、Invalid remote URL protocol

2007-05-03 21:54:34 | 本日のシナプス結合
今日の天気は

今日はFlexのdownloadでつまづいた...
すごく単純なダウンロードのサンプルのつもりだったのだが、

Error: Error #2039: Invalid remote URL protocol. The remote URL protocol must be HTTP or HTTPS.
at flash.net::FileReference/download()

が出る。

サーブレットの出力をダウンロードしたかったので、
var d:FileReference = new FileReference();
var request:URLRequest = new URLRequest();
request.url = "http://localhost:8080/context/servlet/?param=hoge";
d.download(request);
と書いたのだが、URLの書き方ががいけなかったらしい。

FileReference.download()の第二引数(デフォルトファイル名)が省略された場合、urlからデフォルトファイル名を決定するらしいのだが、上記URLではファイル名が存在しない(/で終わってる)。そのためにエラーになっているらしい。

なので、
request.url = "http://localhost:8080/context/servlet/hoge.txt";
d.download(request);
ならうまくいくし、
request.url = "http://localhost:8080/context/servlet/?param=hoge";
d.download(request, "hage.txt");
でもうまくいく。

エラーメッセージ、わかりにくいよ~。
一日無駄にしちゃったじゃんか。
ちゃんとダウンロードしたコンテンツのfilenameから名前拾ってくれよ~。

最新の画像もっと見る

コメントを投稿