2010-09-23 39 views
1

如何在用戶點擊鏈接時打開存儲在Sitecore中的pdf文檔? pdf文檔存儲在媒體庫中。 這是我現在有代碼:如何在Sitecore中打開PDF

Sitecore.Data.Fields.LinkField linkField = item.Fields["Url"]; 
tab.NavigateUrl = linkField.Url; 

回答

4

規則同樣適用於一個PDF媒體到媒體庫中的任何其他類型。如果你只需要檢索媒體URL構建一個鏈接,請執行下列操作:

MediaItem mediaItem = linkField.TargetItem; 
if(mediaItem != null) 
MediaManager.GetMediaUrl(mediaItem); 

你也可以簡單地使用網絡控制或XSL控制,以使鏈接: Web控件:

<sc:Link Field="Url" Item="if you need to process specific item" runat="server" /> 

如果點擊該鏈接時,您的問題與瀏覽器的行爲,ForceDownload設置爲true:

<mediaType name="PDF file" extensions="pdf"> 
    <mimeType>application/pdf</mimeType> 
    **<forceDownload>true</forceDownload>** 
    <sharedTemplate>system/media/unversioned/pdf</sharedTemplate> 
    <versionedTemplate>system/media/versioned/pdf</versionedTemplate> 
</mediaType> 
+1

可以傳遞給MediaManager的MediaUrlOptions似乎不符合Url鏈接管理器使用的選項。是否可以爲MediaManager指定類似UrlOptions.AlwaysIncludeServerUrl的東西? – 2010-12-13 20:34:24

0

注意的Mac上使用Firefox的問題,如PDF s似乎在那裏工作。

爲此,您需要根據this設置一些東西。

如果您不能訪問,基本上是告訴你去web.config中,找到這個:

<mediaType name="PDF file" extensions="pdf"> 

,改變

<forceDownload>false</forceDownload> 

<forceDownload>true</forceDownload>