sitecore中缺少图像文件扩展名

时间:2014-02-24 23:31:31

标签: sitecore sitecore7

我在生产服务器中遇到了一种奇怪的行为。 我们有三台服务器,有时候MediaManager.GetMediaUrl似乎没有返回文件扩展名。首先我认为一台服务器可能有不同的设置。我比较了三台服务器上的所有配置,它们是相同的。 令人惊讶的是,我注意到如果我从同一台服务器浏览同一页面,我可以复制问题。

我检查了Media.RequestExtension的值,并且所有三个都与以下相同

<setting name="Media.RequestExtension" value=""/>

我不能在我们的任何环境(本地,测试,登台)上复制问题

我添加了metatag并硬编码了服务器名称,并将usercontrol的Cacheable属性设置为false,我确定它不是缓存问题。

 var images = new List<string>();
                    var imageField1 = (Sitecore.Data.Fields.ImageField)Sitecore.Context.Item.Fields["og Image1"];
                    if (imageField1 != null && imageField1.MediaItem != null)
                    {
                        var image1Url = MediaManager.GetMediaUrl(imageField1.MediaItem);
                        images.Add(image1Url);

                    }

有没有人遇到过同样的问题?

1 个答案:

答案 0 :(得分:0)

即使我在媒体项目网址中遇到了这个扩展问题。 此问题的解决方法是使用 MediaUrlOptions 对象的 IncludeExtension 属性。

MediaUrlOptions mediaUrlOpts = new MediaUrlOptions();
mediaUrlOpts.IncludeExtension = false;
Response.Write(MediaManager.GetMediaUrl(item, mediaUrlOpts ));

如果您想要始终为网址添加扩展程序,请将 IncludeExtension 设置为true。