Sitecore PDF不下载

时间:2014-02-27 22:06:57

标签: sitecore sitecore6

我在媒体库中有几个未版本控制的PDF ...当我尝试从他们的URL打开它时,它说“找不到布局”。当我指定一个布局(任何布局)时,它不会渲染任何东西。

我已将forcedownload = true添加到web.config的媒体库部分...有什么我缺少的吗?我认为这应该默认下载

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

上面的网址基本不起作用

3 个答案:

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