2009-10-25 [メモ][AIR][javascript]WEB上のファイルをローカルに保存する方法

地味にFlex用かなんかのしかググっても見つからなかったので、
javascriptでやる方法を書いてみる。
AIRAliases.jsが読み込まれている前提なので、
無い場合は、Aliasを設定してやらなきゃだめですよ。
<script type="text/javascript" src="lib/air/AIRAliases.js"></script>
/*
* 指定したURLの読み込みに成功した時に実行される。
* 指定したファイルを読み込んでから、
* writeFile()を呼び出す。
*/
function urlLoaded(event) {
urlStream.readBytes(fileData, 0, urlStream.bytesAvailable);
writeFile();
}
/*
* 読み込まれたデータを書き出す。
* filenameで指定したファイル名で、デスクトップへ保存する。
* マイドキュメントへ保存する場合は、
* desktopDirectoryをdocumentsDirectoryに書き換える。
*/
function writeFile() {
var filename = "test.gif";
var file = air.File.desktopDirectory.resolvePath(filename);
var fileStream = new air.FileStream();
fileStream.addEventListener(air.Event.CLOSE, fileClosed);
fileStream.open(file, air.FileMode.WRITE);
fileStream.writeBytes(fileData, 0, fileData.length);
fileStream.close();
}
/*
* ファイルを閉じる。特に意味は無いけど、無いときっとだめなんだろうな。
*/
function fileClosed(event) {
a = 0;
}
/*
* urlStringに、ダウンロードしたいファイル名を指定する。
*/
var urlString = "http://www.dinorose.net/src/h1.gif";
var urlReq = new air.URLRequest(urlString);
var urlStream = new air.URLStream();
var fileData = new air.ByteArray();
urlStream.addEventListener(air.Event.COMPLETE, urlLoaded);
urlStream.load(urlReq);
</script>
まぁ、これで動くんだけど、
jQueryで$.getJSON()して取得した画像のURLとか投げると、
なんか動かない。謎。
2009-06-06 んがー。

jQueryのプラグインを2つほど作った。
でも、1個は思うほどよいものではない。
ていうか、他のプラグインに影響を及ぼしまくる感じである。
自分で使う分には、色々あれこれすればいいんだけど、
汎用性っつーの?そういうのを考えると難しいね。
んじゃ、自分用に使うっつーことで、うまくやるしかないか。
2009-05-28 うひょひょ

書くことないな〜
Cを勉強しています!
途中までは、『なんだよ〜楽勝だぜ〜』とか思ったけど、
途中から、わけわかんなくなった。
ここを乗り切ってから、Javaを勉強しよう。
つか、コンパイラインストールマンドクセ。
2009-05-21 なんと!一年ぶりの日記である

すごいな!これはすごい。
因みに、一年前に書いた日記の内容へのレスポンスなんだけど、
はてなアンテナのインポート機能を使って、他のユーザのアンテナをインポートをやっても、
べつに自分のアンテナにサイトが表示されるわけではないらしく、
そのため、自分で追加したサイトがゼロだったから、
アンテナ張ってるサイトがゼロのままなのですよというお話。
ちゃんちゃん♪
というわけで、aptana jaxerをいじくるわけです。
何故かというと、よくわからないことを言うんですが、
GoogleDocsのスプレッドシートと同じものを作るんです。
意味がわからないと思います。僕もそう思います。
APE(Ajax Push Engine)とか使えばきっと楽なんだろうけど、
なんかGitからソースもってこいとかめんどくせーから、
サーバ設定からなにからWinでも楽々動かせちゃう、
aptana jaxerを使ってみます。
これで実現できるのかわかりませんけども。
軽く考えたところで、無理なんですけども。
まぁ、仕事してるように見えれば、俺はそれでいいんです。
大いなる、俺による、俺のための実験なんです。
というわけで、日本語のリファレンスがクソも無いんで嫌になりますが、
解説サイトのリンクを貼っておきます。
連載:Aptana JaxerでサーバサイドJavaScriptを始めてみよう!|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/jaxer
JavaScriptだけで作れるAjax Webアプリ:Aptana Jaxerクイックスタート - builder by ZDNet Japan
http://builder.japan.zdnet.com/sp/apatena-jaxer-how-to/story/0,3800084253,20366377,00.htm
Ajax server Aptana JAXERを触ってみた (でぃべろっぱーず・さいど)
http://dev.chrisryu.com/2008/01/ajax_server_aptana_jaxer.html
初の本格的 Ajax サーバー、Aptana Jaxer を使用した Ajax アプリケーションの構築
http://www.ibm.com/developerworks/jp/web/library/wa-aj-jaxer/index.html
多分、明日は
に日記を書きます。


