C# 将PDF的Sitecore呈现从.ashx更改为DownloadMedia.aspx?media={GUID}
在我们的sitecore网站上,有两种方式将项目(文章)与相关媒体PDF项目关联:C# 将PDF的Sitecore呈现从.ashx更改为DownloadMedia.aspx?media={GUID},c#,pdf,sitecore,C#,Pdf,Sitecore,在我们的sitecore网站上,有两种方式将项目(文章)与相关媒体PDF项目关联: 一种方法是单击该内容项的内容值字段的RichTextEditor中的“插入Sitecore链接”按钮,这会产生如下结果: emad\u pdf\u test\u 1 emad\u pdf\u test\u 2 第二种方法是通过PDF字段(具有“打开文件”、“下载”、“查看文件”和“清除”选项)选择相关媒体PDF项目。这会产生如下结果: 下载PDF 第一种方式(#1)导致一些人在IE8和IE9中出现下载问题。无论如
此外,将PDF的呈现方式从“.ashx”更改为“DownloadMedia.aspx”是否会对我们产生任何其他影响?您可以扩展媒体处理程序,以继续使用sitecore链接并强制下载
通过标准Sitecore链接(和媒体处理程序)链接时,您可以更新默认的web.config以强制下载PDF文件。这意味着您在使用#1时无需更改任何链接方式 对于OP的问题,即如何强制浏览器下载PDF文件,原始答案仍然是最佳选择,但这解决了他为什么在IE8/9浏览器上遇到问题的具体问题
<mediaTypes>
<mediaType name="PDF file" extensions="pdf">
<mimeType>application/pdf</mimeType>
<forceDownload>true</forceDownload> <!-- this value has changed -->
<sharedTemplate>system/media/unversioned/pdf</sharedTemplate>
<versionedTemplate>system/media/versioned/pdf</versionedTemplate>
</mediaType>
<mediaTypes>
<setting name="Media.EnableRangeRetrievalRequest" value="false"/>