无论如何,允许在mediawiki中使用base64编码的图像



我使用的是mediawiki 1.17,所以我尝试了两者:

$wgAllowImageTag = true;
$wgRawHtml = true; #I know it's insecure just wanted to see if it'd work

我的img标签的形式:

<img src="data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////
wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4ML
wWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw=="
alt="Base64 encoded image" width="150" height="150"/>

正在渲染为:

<img alt="Base64 encoded image" width="150" height="150" />

如果我编辑页面,img标记仍然包含所有数据。

背景

我正在从我的CRM系统(sugarcrm)导出kb文章。Sugar在base64中对链接到每个KB文章的图像进行编码。这使得将这些图像同步到mediawiki网站非常方便,而无需导出/重新链接图像。所以,如果我能让mediawiki允许base64编码的图像,那就太好了。就我而言,我们的mediawiki网站不是由公众编辑的,只是我们公司的成员。

是否打开$wgAllowExternalImages=true;

从技术上讲,我知道它不是一个外部图像,但也许mediawiki是这样对待它的。您也可以尝试将其列入白名单。

尽管您不太可能仍然需要它,但它可能会帮助其他人:我刚刚创建了一些补丁说明,使MediaWiki(以及基于CKeditor的所见即所得扩展)支持base64图像。

https://github.com/limasierra/MediaWiki-Base64-patch

hth

最新更新