使用 Azure blob 存储时,如何在 Kentico 中添加对 SVG 媒体文件的支持?
How can I add support for SVG media files in Kentico when using Azure blob storage?
我们有一个 Kentico 实例,它在 Azure blob 存储中存储媒体文件。上传 SVG 类型的图像时,它使用默认内容类型 "application/octet-stream" 存储它们。这意味着它们无法在浏览器中正确显示。解决方法是使用正确的内容类型 "image/svg+xml"。有谁知道是否可以强制 Kentico 将这种内容类型用于 SVG 文件?
我知道这可以在使用 Powershell 上传后完成,但这是一个技术步骤,不适合向内容编辑者推广。
您可以将自己的 MIME 类型添加到 ~/App_Data/mimetypes.txt 文件。我刚刚检查了源代码,“application/octet-stream” 在此处找不到扩展的 mime 类型时用作默认值。
另一件事可能是设置响应的 Disposition。默认情况下,SVG 图像将被视为 HTTP headers 中的附件,这意味着大多数浏览器将尝试 下载 它而不是显示。看来您可以通过使用您自己的带有内联附件的列表来解决此问题。尝试将此添加到您的 web.config:
<add key="CMSGetFileDispositionInlineExtensions" value="pdf;swf;swg" />
如果您能告诉我是否有帮助,我们会很棒!
我们有一个 Kentico 实例,它在 Azure blob 存储中存储媒体文件。上传 SVG 类型的图像时,它使用默认内容类型 "application/octet-stream" 存储它们。这意味着它们无法在浏览器中正确显示。解决方法是使用正确的内容类型 "image/svg+xml"。有谁知道是否可以强制 Kentico 将这种内容类型用于 SVG 文件?
我知道这可以在使用 Powershell 上传后完成,但这是一个技术步骤,不适合向内容编辑者推广。
您可以将自己的 MIME 类型添加到 ~/App_Data/mimetypes.txt 文件。我刚刚检查了源代码,“application/octet-stream” 在此处找不到扩展的 mime 类型时用作默认值。
另一件事可能是设置响应的 Disposition。默认情况下,SVG 图像将被视为 HTTP headers 中的附件,这意味着大多数浏览器将尝试 下载 它而不是显示。看来您可以通过使用您自己的带有内联附件的列表来解决此问题。尝试将此添加到您的 web.config:
<add key="CMSGetFileDispositionInlineExtensions" value="pdf;swf;swg" />
如果您能告诉我是否有帮助,我们会很棒!