2014-02-27 87 views
0

我在媒體庫中有幾個未版本化的PDF ...當我嘗試從它們的URL中打開它時,它會顯示「未找到佈局」。當我分配佈局(任何佈局)時,它只是不渲染任何東西。Sitecore PDF Not Down

我已將forcedownload = true添加到web.config的媒體庫部分...有什麼我失蹤了嗎?我認爲這是應該默認

http://testsite.org/sitecore/media%20library/pdfs/Publications/Periodicals/Test 

下載上面的網址基本上不起作用

+0

不聽起來像一個編程的問題對我說:-1 –

+1

你嘗試'http://testsite.org/~/media/pdfs/Publications/期刊/ Test.pdf'?確保你使用'MediaManager.GetMediaUrl()'生成URL鏈接 – jammykam

+0

謝謝jammy!我是愚蠢的,它不正確地獲取媒體網址(它使用sitecore中的項目url)。 –

回答

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的網址,生成的URL。

0

您不必指定佈局媒體項目。確保在url之前添加「/」前綴。例如:site /〜/ media/path to pdf.ashx。

還要確保您已發佈媒體文件。

+0

是的。這兩個都完成了。它們已發佈。 –

0

下面//是指定圖像URL

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; 
         }