如何在用戶點擊鏈接時打開存儲在Sitecore中的pdf文檔? pdf文檔存儲在媒體庫中。 這是我現在有代碼:如何在Sitecore中打開PDF
Sitecore.Data.Fields.LinkField linkField = item.Fields["Url"];
tab.NavigateUrl = linkField.Url;
如何在用戶點擊鏈接時打開存儲在Sitecore中的pdf文檔? pdf文檔存儲在媒體庫中。 這是我現在有代碼:如何在Sitecore中打開PDF
Sitecore.Data.Fields.LinkField linkField = item.Fields["Url"];
tab.NavigateUrl = linkField.Url;
規則同樣適用於一個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>
注意的Mac上使用Firefox的問題,如PDF s似乎在那裏工作。
爲此,您需要根據this設置一些東西。
如果您不能訪問,基本上是告訴你去web.config中,找到這個:
<mediaType name="PDF file" extensions="pdf">
,改變
<forceDownload>false</forceDownload>
到
<forceDownload>true</forceDownload>
可以傳遞給MediaManager的MediaUrlOptions似乎不符合Url鏈接管理器使用的選項。是否可以爲MediaManager指定類似UrlOptions.AlwaysIncludeServerUrl的東西? – 2010-12-13 20:34:24