sitecore中缺少图像文件扩展名

sitecore中缺少图像文件扩展名,sitecore,sitecore7,Sitecore,Sitecore7,我在生产服务器中遇到了一种奇怪的行为。 我们有三台服务器,有时MediaManager.GetMediaUrl似乎不返回文件扩展名。首先,我认为一台服务器可能有不同的设置。我比较了三台服务器上的所有配置,它们是相同的。 令人惊讶的是,我注意到,如果我从同一台服务器浏览同一个页面,我可以复制这个问题 我检查了Media.RequestExtension的值,这三个值的值如下所示 <setting name="Media.RequestExtension" value=""/> 我

我在生产服务器中遇到了一种奇怪的行为。 我们有三台服务器,有时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);

                    }
var images=newlist();
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);
}

有没有人经历过同样的问题

就连我也遇到过媒体项目URL的扩展问题。 此问题的解决方法是使用MediaUrlOptions对象的IncludeExtension属性

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

如果要始终向URL添加扩展名,请将IncludeExtension设置为true。

是否尝试从所有服务器清除sitecore媒体缓存?您能否尝试确定是哪台服务器导致了此问题?可能您可以将该服务器从负载平衡器上短暂地关闭,并检查问题是否得到解决。您是否可以将该语言添加到您的mediaurl中?我遇到了这个问题,我不知道是否真的是相同的,但我向mediaurl添加了语言,它可以工作:MediaUrlOptions MediaUrlOptions=new MediaUrlOptions{Language=Sitecore.Context.Language};返回Sitecore.StringUtil.EnsurePrefix('/',MediaManager.GetMediaUrl(item,mediaUrlOptions));