続・ファイルのアップロード機能の追加

<< 戻る   トップ >>

もしかして画像のアップロード機能を付け加えたくないのか? とも思える程停滞していたのだが、やはり画像はウェブの華、鴨乃嘴南蛮整備を一休みするにせよここまでやってから休むとしよう。さらに、自らにモチベーションを与えるため、明日富山空港に飛行機写真を撮りにいくか、富山ライトレールを撮りにいくことにしよう。途中でカメラ量販店に寄ってポータブルな一脚を購入して。それでは、データベース実装から取り掛かることにする。

mysql に表を作成した。以前予定したモノに若干の変更を加えた。また、mimetype 表にはデータを加えた。mimetype 表の変更は mysql の直接操作とし、編集画面は作らない予定。

CREATE TABLE object (
 id   INT AUTO_INCREMENT PRIMARY KEY,
 data MEDIUMBLOB,
 title  TEXT,
 type  INT,
 updated DATETIME 
);

CREATE TABLE (
 id INT AUTO_INCREMENT PRIMARY KEY,
 type TEXT
);

INSERT INTO mimetype SET type="image/png";
INSERT INTO mimetype SET type="image/jpeg";
INSERT INTO mimetype SET type="image/gif";
INSERT INTO mimetype SET type="image/bmp";

というわけで、勇んで作り始めたですが、妻に内証で発泡酒を飲んでいたところ、二日連続で飲んでいることでもあり、たった二本でプログラム不能となりました。フォームを作り、Mime Type を <select> で選択できるようになったところで止めます。というかもうわけがわからんし。

そういえば、明日は妻の新車が届くのでありました。絶好の被写体。目標は明日の日記に妻の新車写真を掲載に変更。刮目して待て。

刮目すな & 待つな (笑)。ええと、ちょっとばかり予定外の苦労をしたものの、おおむね MovableType と同レベルの画像アップロード機能を持たせることができた。まず、予定外の部分はどこかというと、アップロードした画像のチェックプログラムを JSP で書いたところ (いや、Servlet の方が適切で間違いがないとは思ってはいたのだが)、JSPWriter.out の出力が本来はうれしいコード変換とかをサービス過剰にやらかしてくれて困ったというところだ。JSP 組込みオブジェクトの out は使用せずに、response.getOutputStream() で低レベル出力を取り出して処理すればなんの問題もなし。

<img> タグで src 属性に /nanban/object.jsp?id=n といれれば画像を表示することができるのだが、ここでちょっと虫がうずいて J2EE の "taglib" なるシステムをつかってみてはどうか、と考えていたのだが、あまりにも標準的な XHTML と離れちゃうのもちょっとな、と思い直したのでこのまま素直にブラッシュアップに進む。

そいうえば、mimetype 表は廃止した。SQL の複数票連携の練習問題としては悪くないが、面倒だもの。

それから、<img>タグだけではなく<object> タグを使ってみたのだが、IE7 Beta3 は云とも寸ともいわない。それで標準準拠を謳っていいのかね、Microsoft。<objet> タグは「悪恥部-X」のためだけにあるのではないのだぞ。もうすぐ日本語版 RC1 (Release Candidade 1) を配布するのだろうが、このあたりをちゃんとする気は本当にあるのか? まったく期待してないけど。


作成: 2006-09-01 13:14:41.0更新: 2006-09-02 20:02:05.0
http://museo-anonimo.jp/nanban/?id=277,http://museo-anonimo.jp/nanban/tr/277