将svg文件导入媒体库

时间:2014-03-02 09:17:16

标签: svg sitecore sitecore7

我有一个响应式设计Sitecore 7解决方案,我想将svg文件添加到媒体库中,以便像jpg,jpeg图片一样进行处理。当我上传svg文件时,它们会像媒体文件一样处理,而不像图像文件。

4 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

如果您只想将上传 SVG文件到媒体库,那么之前的答案是正确的。如果您希望在Sitecore富文本编辑器中使用媒体库中的SVG,则必须遵循其他步骤,否则您将获得一个&#34;所选项目不是图像& #34;错误。

此博客文章介绍了在富文本编辑器中使用SVG所需的RTE自定义。 http://sitecorecorner.com/2015/11/23/sitecore-svg-support/

答案 2 :(得分:2)

从Sitecore 8.1 Update 2开始,默认情况下包含配置更新。测试在媒体库上传和RTE字段以及GlassMapper中传递。

答案 3 :(得分: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>