我在媒体库中有几个未版本控制的PDF ...当我尝试从他们的URL打开它时,它说“找不到布局”。当我指定一个布局(任何布局)时,它不会渲染任何东西。
我已将forcedownload = true添加到web.config的媒体库部分...有什么我缺少的吗?我认为这应该默认下载
http://testsite.org/sitecore/media%20library/pdfs/Publications/Periodicals/Test
上面的网址基本不起作用
答案 0 :(得分:2)
媒体库中项目的链接通常以/~/media/
为前缀,除非您在配置中更改了Media.MediaLinkPrefix
的值。链接应该是这样的:
http://testsite.org/~/media/pdfs/Publications/Periodicals/Test.pdf
确保使用MediaManager.GetMediaUrl()
FileField fileField = Sitecore.Context.Item.Fields["File Field"];
var mediaItem = new MediaItem(fileField.MediaItem);
string url = Sitecore.StringUtil.EnsurePrefix('/', MediaManager.GetMediaUrl(fileMediaItem));
始终对项目使用LinkManager.GetItemUrl()
,对媒体项目使用MediaManager.GetMediaUrl()
生成Sitecore网址。
答案 1 :(得分:0)
您不必为媒体项目指定布局。确保在网址前添加“/”前缀。例如:网站/〜/ media / pdf.ashx的路径。
还要确保已发布媒体文件。
答案 2 :(得分:0)
//下面是指定图片网址的代码
MediaItem mediaItem = new MediaItem(Sitecore.Context.Database.GetItem("Path"));
if (mediaItem != null)
{
imgBtn.ImageUrl = Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(mediaItem);
imgBtn.AlternateText = mediaItem.Alt;
}