ファイル添付の不具合

attach.cgiの問題

本家サイトhttp://hikiwiki.org/ja/attach.rb.htmlに書いてあるように、元々は、attach.rbを有効にして、misc/plugin/attach/attach.cgiをhiki.cgiと同じディレクトリに置けばファイル添付機能が使えました。 しかし、attach.cgiは古いままメンテされておらず、https://github.com/hiki/hiki/issues/51で報告されているように、現在のHikiではまともに動作なくなりました。 セキュリティその他の問題でこのCGIは「捨てたい」もののようで、この報告の後も、動作しないまま放置状態です。

本サイトでは、https://github.com/hiki/hiki/issues/51に準じて、なんとかごまかして、ファイルのアップロードが動くようにしてあります。「ファイルの添付」ボタンを押すと、「no content body」のエラーが出ますが、アップロードはされるようです。 が、使用は推奨しません。

対処療法

CGIによるファイルアップロードに問題があるので、 CGIを使わずに、手作業でしかるべきディレクトリにファイルをアップロードするのが対処療法です。 かなり面倒ですが、システム管理者なら出来ます。

やり方としては、 Webサーバにログインして、CGIのユーザの権限で、 {@data_path}/cache/attachディレクトリに、ファイル添付したいページ名と同じ名前のディレクトリを掘って、その下に添付用ファイルを置きます。 ファイルの更新や削除などもこの方法でやります。 なお、ページ名が日本語の場合、日本語URLのエンコードに相当するディレクトリ名にします。

そうすると、attach.rbのアンカコマンドにより、ファイルをページ上で参照できます。 一旦アップロードされたファイルを参照やダウンロードする方の動作は問題ありません。

Last modified:2018/01/30 10:23:31
Keyword(s):
References:[FrontPage]