将SVG文件添加到媒体库

10

我有一个响应式设计的 Sitecore 7 解决方案,我想要将 svg 文件添加到媒体库中,并使其像 jpg、jpeg 图片一样被处理。当我上传 svg 文件时,它们被处理为媒体文件而不是图片文件。

4个回答

14
据我所知,Sitecore CMS默认不支持SVG图像。 如果您上传SVG图像,Sitecore将不会将其处理为图像,而是作为普通媒体文件进行处理。缩略图生成也无法用于SVG图像。 请尝试使用以下媒体类型定义来定义SVG类型:
<mediaType name="SVG image" extensions="svg">
  <mimeType>image/svg+xml</mimeType>
  <forceDownload>false</forceDownload>
  <sharedTemplate>system/media/unversioned/image</sharedTemplate>
  <versionedTemplate>system/media/versioned/image</versionedTemplate>
  <mediaValidator type="Sitecore.Resources.Media.ImageValidator"/>
  <thumbnails>
    <generator type="Sitecore.Resources.Media.ImageThumbnailGenerator, Sitecore.Kernel">
      <extension>png</extension>
    </generator>
    <width>150</width>
    <height>150</height>
    <backgroundColor>#FFFFFF</backgroundColor>
  </thumbnails>
 </mediaType>

另外,请在配置文件中注册SVG文件的MIME类型。

<configuration>
  <system.webServer>
    <staticContent>
     <remove fileExtension=".svg" />
     <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
    </staticContent>
  </system.webServer>
</configuration>

2

从Sitecore 8.1 Update 2开始,配置更新已默认包含。经过测试,在媒体库上传和RTE字段以及GlassMapper中都通过了测试。


2
如果你只是想能够上传SVG文件到媒体库,前面的答案都是正确的。但是如果你想在Sitecore富文本编辑器中使用媒体库中的SVG,则需要遵循其他步骤,否则会出现“所选项目不是图像”错误。
这篇博客文章解释了在富文本编辑器中使用SVG所需的RTE自定义。 http://sitecorecorner.com/2015/11/23/sitecore-svg-support/

0
<configuration xmlns:patch="www.sitecore.net/xmlconfig">
    <sitecore>
        <mediaLibrary>
            <mediaTypes>
                <mediaType name="SVG image" extensions="svg">
                    <mimeType>image/svg+xml</mimeType>
                    <forceDownload>false</forceDownload>
                    <sharedTemplate>system/media/unversioned/image</sharedTemplate>
                    <versionedTemplate>system/media/versioned/image</versionedTemplate>
                    <mediaValidator type="Sitecore.Resources.Media.ImageValidator"/>
                    <thumbnails>
                        <generator type="Sitecore.Resources.Media.ImageThumbnailGenerator, Sitecore.Kernel">
                            <extension>png</extension>
                        </generator>
                        <width>150</width>
                        <height>150</height>
                        <backgroundColor>#FFFFFF</backgroundColor>
                    </thumbnails>
                </mediaType>
            </mediaTypes>
        </mediaLibrary>
    </sitecore>
</configuration>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接