wiki 上的 mime 文件类型验证

mime file type validation on wiki

我是 运行 Ubuntu Mate 上的私人 MediaWiki 版本 1.35.1。我向我的 LocalSettings.php 添加了一个新的文件扩展名 'cev',但是当我尝试上传文件时,它给我这条消息:

所以,我转到 this page 并在 Mime 类型验证 下,它说 Mediawiki includes 文件夹中有 2 个文件可以自定义到 allow/ignore 那个错误。好吧,该页面上的“损坏的 link”注释似乎表明 /includes/libs/mime 下的文件 MimeMap.php 是要修改的文件。

那么,我该如何修改 MimeMap.php 使其忽略 .CEV 文件或以其他方式接受它们而不显示错误消息?

你试过了吗 https://www.mediawiki.org/wiki/Topic:Ps6zng4e6b00rsor

$wgVerifyMimeType = false;
$wgStrictFileExtensions = false;
$wgCheckFileExtensions = false;

对于某些文件类型还有一个奇怪的解决方法:

$wgAllowJavaUploads = true; // Solves problem with Office 2007 and newer files (docx, xlsx, etc.)

https://www.mediawiki.org/wiki/Manual:$wgAllowJavaUploads

在某些情况下似乎有帮助。

要支持在您的 wiki 上上传的额外 mime 类型,您可以使用自 MediaWiki 1.24 起的 MimeMagicInit hook

例如,要将 .md 文件识别为 text/plain 用于 Markdown:

// Recognise the extension
$wgHooks['MimeMagicInit'][] = function ( MimeAnalyzer $mime ) {
    $mime->addExtraTypes( 'text/plain md' );
};

// Allow it for new uploads
$wgFileExtensions[] = 'md';

我还更新了 mediawiki.org 上的 MIME type detection 页面,以及更多信息。