AEM: PDF-Links in der Textkomponente werden immer aufgrund des Content-Disposition-Headers heruntergeladen

In diesem Artikel wird erläutert, warum PDF-Links, die in der Textkomponente von Adobe Experience Manager (AEM) erstellt wurden, immer Trigger-Downloads durchführen können, anstatt sie auf einer neuen Registerkarte zu öffnen. Außerdem werden Schritte zur Behebung des Problems beschrieben.

Beschreibung description

Umgebung

Adobe Experience Manager (AEM), alle Versionen

Problem/Symptome

  • Wenn ein PDF-Link in der vordefinierten AEM-Textkomponente (Rich-Text-Editor) erstellt wird, wird durch Klicken auf den Link immer der PDF heruntergeladen, unabhängig davon, ob der Link auf einer neuen Registerkarte oder auf derselben Registerkarte geöffnet werden soll.
  • Der Antwort-Header des Browsers für die PDF enthält content-disposition: attachment.
  • Dieses Verhalten bleibt auch bestehen, wenn versucht wird, den -Header über die Dispatcher-Konfiguration oder durch Hinzufügen des PDF-Pfads zu den ausgeschlossenen Ressourcenpfaden im Apache Sling-Dispositionsfilter zu überschreiben.
  • Wenn Sie Option „Für alle Ressourcenpfade aktivieren im Dispositionsfilter deaktivieren, können PDFs wie erwartet in einer neuen Registerkarte geöffnet werden.
  • Das Problem kann möglicherweise nicht in allen Umgebungen oder Browsern reproduzierbar sein. In einigen Fällen kann das Problem durch Löschen des CDN-Cache behoben werden.

Ursache

Der Content-Disposition-Header ist für binäre Assets (wie PDFs) in der AEM-Veröffentlichungsinstanz standardmäßig auf attachment festgelegt. Dies führt dazu, dass Browser die Datei herunterladen, anstatt sie inline anzuzeigen. Das Problem kann behoben werden, indem Sie diese Kopfzeile auf Dispatcher-Ebene überschreiben oder den Dispositionsfilter anpassen.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Überprüfen Sie die Umgebung, um festzustellen, ob das Problem bei der Autoren- und/oder Veröffentlichungsumgebung auftritt. Adobe empfiehlt nur das Ändern von Content-Disposition-Headern auf der Veröffentlichungsebene.

  2. Überprüfen Sie die Einstellungen für Apache Sling Disposition Filter .

    • Navigieren Sie in der AEM-Web-Konsole zu Apache Sling Disposition Filter.
    • Wenn Für alle Ressourcenpfade aktivieren markiert ist, deaktivieren Sie diese Option und testen Sie, ob PDFs in einer neuen Registerkarte geöffnet werden.
    • Wenn Sie die Option Für alle Ressourcenpfade aktivieren aktivieren müssen, fügen Sie die entsprechenden PDF-Pfade zu Ausgeschlossene Ressourcenpfade hinzu und testen Sie erneut.
  3. Passen Sie die Dispatcher-Konfiguration für die Veröffentlichungsebene an.

    Fügen Sie die folgende Regel hinzu oder aktualisieren Sie sie, um den Content-Disposition-Header für PDF-Dateien zu überschreiben:

    code language-none
    Header unset Content-Disposition
    Header set Content-Disposition inline
    
  4. Laden Sie die Dispatcher-Konfiguration neu und löschen Sie alle relevanten Caches.

  5. Löschen Sie das CDN und den Browser-Cache, nachdem Sie Konfigurationsänderungen vorgenommen haben, um sicherzustellen, dass die neuen Header angewendet werden.

  6. Testen Sie den PDF-Link, indem Sie einen PDF-Link in der AEM-Textkomponente erstellen und überprüfen Sie, ob durch Klicken auf den Link die PDF in einer neuen Registerkarte geöffnet wird, anstatt sie herunterzuladen.

recommendation-more-help
experience-cloud-kcs-help-kbarticles