我使用的是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