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