Asp.net 使用Azure blob存储时,如何在Kentico中添加对SVG媒体文件的支持?
我们有一个Kentico实例,它将媒体文件存储在Azure blob存储中。当上传SVG类型的图像时,它使用默认的内容类型“application/octet stream”存储它们。这意味着它们没有在浏览器中正确显示。修复方法是使用正确的内容类型“image/svg+xml”。有人知道是否有可能强制Kentico对SVG文件使用这种内容类型吗Asp.net 使用Azure blob存储时,如何在Kentico中添加对SVG媒体文件的支持?,asp.net,azure,svg,kentico,Asp.net,Azure,Svg,Kentico,我们有一个Kentico实例,它将媒体文件存储在Azure blob存储中。当上传SVG类型的图像时,它使用默认的内容类型“application/octet stream”存储它们。这意味着它们没有在浏览器中正确显示。修复方法是使用正确的内容类型“image/svg+xml”。有人知道是否有可能强制Kentico对SVG文件使用这种内容类型吗 我意识到这可以在使用Powershell上传后完成,但这是一个技术步骤,不适合推广到内容编辑器。您可以将自己的mime类型添加到~/App\u Data
我意识到这可以在使用Powershell上传后完成,但这是一个技术步骤,不适合推广到内容编辑器。您可以将自己的mime类型添加到~/App\u Data/mimetypes.txt文件中。我刚刚检查了源代码,在这里找不到扩展的mime类型时,“应用程序/octet流”被用作默认值 另一件事可能是设置响应的处置。默认情况下,SVG图像将被视为HTTP标题中的附件,这意味着大多数浏览器将尝试下载它,而不是显示它。似乎您可以通过使用自己的带有内联附件的列表来解决这个问题。尝试将其添加到web.config:
<add key="CMSGetFileDispositionInlineExtensions" value="pdf;swf;swg" />
如果你能让我知道这是否有帮助,那就太棒了 令人惊讶的是,这是你的第一个建议解决了这个问题。将svg添加到mimetypes.txt中,重新启动应用程序,然后以正确的内容类型上传到blob存储中。我非常感激,ta非常:)太棒了,我很高兴它能帮上忙:-)