使用 ckfinder 上传一些 SVG 文件时出错

Error uploading some SVG files using ckfinder

我正在使用 CKFinder (v2.1) 来管理图像库,并且我现在正在添加对 SVG 图像的支持。编辑配置文件后,前几个测试文件一切正常。现在我偶尔会收到此错误消息,"Upload cancelled due to security reasons. The file contains HTML-like data." 它只出现在某些 SVG 文件上,并非全部。我查看了一个文件的来源,该文件试图与失败的文件来源进行比较,但未能找到任何可能导致问题的内容。 SO 和 Google 搜索并没有真正找到任何有用的东西。只是想知道是否还有其他人 运行 遇到过这个问题,如果有,您是如何解决的?

SVG 是一种基于 XML 的文件格式,具有可选压缩功能。 在未压缩的情况下,它可能包含一些与 HTML 通用的标签。 默认情况下,CKFinder 拒绝在前 1024 个字节中包含 HTML 代码且未在配置中列入白名单的文件。

要解决您的问题,请将 SVG 扩展添加到 configuration file(ASP.NET 连接器)中允许的 HTML 扩展:

HtmlExtensions = new string[] { "html", "htm", "xml", "js", "svg" };

对于 PHP 连接器,configuration 选项可能如下所示:

$config['HtmlExtensions'] = array('html', 'htm', 'xml', 'js', 'svg');

如果您使用其他连接器,您可能会在 documentation.

中找到如何将 SVG 扩展添加到允许的 HTML 扩展中