今日の天気は
今日は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から名前拾ってくれよ~。
今日は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から名前拾ってくれよ~。
※コメント投稿者のブログIDはブログ作成者のみに通知されます