人気ブログランキング | 話題のタグを見る
FSWikiにアップロードしたファイルを直接参照
またもマニアックなネタで。


perlで動作するFSWikiでは、
例えば「Test用Page」ってページを新規作成して、編集画面で

 {{attach}}

って書くと、簡易アップローダを作れる。
ほんでもって「Test用File.pdf」ってファイルをアップロードして、

 {{ref Test用File.pdf}}

って書くとそのファイルが参照できる。

でもこのやり方だと、pdfはダウンロードしないと見れない(ブラウザで見られず、Readerが立ち上がる)のに加えて、

 [pdfはこちら|(ファイルのアドレス)]

みたいな感じでアップロードしたファイルを参照できない。
なんとかならんもんかと思って調査。


ブラウザから(wikiのアドレス)/attachのIndexを直接見ると、アップロードされたファイルの一覧の中に

 Test%CD%D1Page.Test%CD%D1File%2Epdf

と、それっぽいファイルがあったので、その「リンク」をコピー。すると難なく表示できた(この名前をコピペしてもうまくいかない。詳細は後述)。



しかし他人が管理しているwikiなんかだと、直接ファイル名がわからないので、この方法は通用しない。で、色々実験してみた結果、refで張られたリンクが

 (wikiのアドレス)/wiki.cgi?action=ATTACH&page=(ページ名)&file=(ファイル名)

みたいになってるときは、

 (wikiのアドレス)/attach/(ページ名改).(ファイル名改)

と書けば直接リンクできるもよう。

改って書いたのは、ページ名やファイル名に全角文字等があると、%xxって文字が入るので、それらはすべて%25xxっていう風に置換しないと、ブラウザが認識してくれないから。

 例:
 (wikiのアドレス)/wiki.cgi?action=ATTACH&page=A%bb%ccD&file=E%ff%2Epdf
  ↓
 (wikiのアドレス)/attach/A%25bb%25ccD.E%25ff%252Epdf

これで無事表示できるはず(%2E→%252Eはたぶん拡張子のドットかと)。


最近bbs2プラグイン使ったメモ帳が便利でしょうがない。
httpdとActivePerlあれば、ローカルでもFSWiki動かせるので、お試しあれ。
by ryouke_jianji | 2006-09-15 16:49
<< はじめてのC# Cygwinのmake + V... >>


Ryoukeの日常
by ryouke_jianji