Ich verwende S3, um meine Dateien in meiner Discourse-Community zu hosten. Ich habe eine iOS-App erstellt und muss PDF-Dateien herunterladen, anstatt sie in der App zu öffnen.
Ich habe eine Lösung für einen Download-Link gefunden:
<a href="download-url?wtn-download-file=true">Download File</a>
Aber für auf S3 hochgeladene PDFs weiß ich nicht, was ich tun soll.
Canapin
(Coin-coin le Canapin)
12. Oktober 2023 um 08:49
2
Bearbeiten: Meine Antwort wird entfernt, da ich das Thema falsch verstanden habe
Danke thoka
thoka
(Thomas Kalka)
12. Oktober 2023 um 10:10
3
Hm. Es scheint, er verlangt genau das Gegenteil meiner Feature-Anfrage …
thoka
(Thomas Kalka)
12. Oktober 2023 um 10:14
4
Laut dieser Quelle sollten Sie das gewünschte Verhalten erreichen können, indem Sie download zu diesen Links über eine Theme-Komponente hinzufügen.
Ich muss einen Weg finden, alle meine PDF-Links zu ändern… es sind fast 3000 Links
Sollte eine Angelegenheit der Diskurs-Remapping sein
Diese Anleitung erklärt, wie Sie den Domainnamen Ihrer Discourse-Seite ändern können. Sie enthält Informationen zur Einrichtung von DNS-Änderungen, zum Bearbeiten von Konfigurationsdateien, zum Aktualisieren von Site-Einstellungen sowie zur Korrektur von Social Logins und Beitragsinhalten, um Ihren neuen Domainnamen widerzuspiegeln.
Diese Anleitung gilt für selbst gehostete Discourse-Instanzen, die mit unserer Installationsanleitung auf GitHub installiert wurden. Wenn Si…
Wort der Warnung: Testen Sie es zuerst auf einer Staging-Site. Es funktioniert möglicherweise nicht wie erwartet.
Don
12. Oktober 2023 um 18:57
7
Hallo
Ich denke, dieses Thema ist dasselbe: Force download pdf on IOS
Dafür musst du api.decorateCookedElement verwenden.
So etwas sollte funktionieren
Platziere es im Header-Bereich einer Komponente.
<script type="text/discourse-plugin" version="0.8.42">
api.decorateCookedElement(
element => {
const pdfFiles = element.querySelectorAll("a.attachment[href$='.pdf']");
if (!pdfFiles.length) {
return;
}
pdfFiles.forEach((pdf) => {
pdf.setAttribute("download", "");
});
},
{ id: "download-pdf", onlyStream: true }
);
</script>
Ich habe es auf meinem Gerät getestet und es funktioniert für mich, aber wenn du andere Attribute usw. verwenden möchtest, kannst du es leicht ändern… Ich hoffe, es hilft