MediaWiki で docx ファイルを移動(rename)しようとすると以下のように怒られる.
The page could not be moved, for the following reason:
The new file extension does not match its type.
もとの docx は手元では MIME type: application/zip
としてアップロードされており,たぶん拡張子が .zip
ではないということで怒られているような気がする.MS Word のファイル(docx)が zip であると判定されるのは,docx が実は zip であるというだけ(拡張子を zip に変更すると zip で展開できる).
一旦削除して再アップロードしてしまったので,解決可能か全く不明だが,LocalSettings.php
に以下を書いておくことにした.
$wgMimeDetectorCommand = "file -bi";
file
コマンドは docx を application/vnd.openxmlformats-officedocument.wordprocessingml.document
と判定する.ただし https://www.mediawiki.org/wiki/Manual:$wgMimeDetectorCommand に以下のようにあって,これで直るかどうかは不明.
It is important to note that MediaWiki itself performs a set of MIME detection tests itself, and only if those are unsuccessful is the MIME detector invoked.
追記 (2021/5/16)
結局上記では直らなかった.移動の際にこのチェックを行っているのは includes/MovePage.php
の以下の箇所で,この箇所コメントアウトしたら無事ファイル(File:
)の移動ができるようになった.
if ( !File::checkExtensionCompatibility( $file, $this->newTitle->getDBkey() ) ) {
$status->fatal( 'imagetypemismatch' );
}