【问题标题】:Repercussions of Changing Sitecore Rendering of PDFs from .ashx to DownloadMedia.aspx?media={GUID}将 PDF 的 Sitecore 渲染从 .ashx 更改为 DownloadMedia.aspx?media={GUID} 的影响
【发布时间】:2014-04-17 22:19:19
【问题描述】:

在我们的 sitecore 网站上,我们通过两种方式将项目(文章)与相关媒体 PDF 项目相关联:

  1. 一种方法是单击该内容项的内容值字段的 RichTextEditor 中的“插入 Sitecore 链接”按钮,这会产生如下内容:

emad_pdf_test_1

emad_pdf_test_2

  1. 第二种方法是通过 PDF 字段(具有“打开文件”、“下载”、“查看文件”和“清除”选项)选择相关媒体 PDF 项目。这会产生如下内容:

下载PDF

第一种方式 (#1) 导致一些人在 IE8 和 IE9 中出现下载问题。无论如何,经过一些令人痛苦的试验和错误之后,我们决定将所有像 #1 (.ashx) 渲染的地方更改为像 #2 (DownloadMedia.aspx?media={GUID}) 那样渲染。事实上,我们知道,如果我们这样做,所有浏览器中的所有 PDF 下载都可以正常工作。

我们意识到这样做的一个后果是,如果我们在 sitecore 中物理删除相关的 PDF 媒体项目,如果在 RichTextEditor 中,如果在 DownloadMedia.aspx?media={ GUID} 格式。有没有办法解决这个问题?

对于我们将 PDF 的呈现方式从“.ashx”更改为“DownloadMedia.aspx”还有其他影响吗?

【问题讨论】:

    标签: c# pdf sitecore


    【解决方案1】:

    您可以更新默认 web.config 以在通过标准 Sitecore 链接(和媒体处理程序)链接时强制下载 PDF 文件。这意味着您在使用 #1 时无需更改任何链接方式

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

    某些版本的 IE 中的 PDF 问题是一个已知问题,Sitecore 7.2 现在默认将forceDownload 更改为true

    媒体请求

    某些浏览器在下载和打开 PDF 时出现问题 具有默认 Sitecore 配置的文件。这已被修复 将 web.config 文件中元素的元素更改为 true。 (368967)

    Release History for Sitecore CMS 7.2

    编辑:

    问题似乎与分块传输编码和 IE9/Acrobat Reader 插件不能很好地配合使用有关。您可以read more information here,但解决方法是在配置中禁用媒体项的分块传输编码:

    <setting name="Media.EnableRangeRetrievalRequest" value="false"/>
    

    原始答案仍然是 OP 问题的最佳选择,即如何强制浏览器下载 PDF 文件,但这解决了他为什么在 IE8/9 浏览器上遇到问题的具体问题。

    【讨论】:

      【解决方案2】:

      您可以扩展媒体处理程序以继续使用站点核心链接并强制下载。

      http://sitecoreblog.alexshyba.com/2010/07/file-download-dialog-box-for-sitecore.html?m=1

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-23
        • 1970-01-01
        • 1970-01-01
        • 2012-07-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-26
        • 1970-01-01
        相关资源
        最近更新 更多