J’utilise s3 pour héberger mes fichiers sur ma communauté discourse, j’ai créé une application iOS et j’ai besoin de télécharger des fichiers PDF au lieu de les ouvrir dans l’application
J’ai trouvé une solution pour un téléchargement de lien :
<a href="download-url?wtn-download-file=true"> Télécharger le fichier </a>
Mais pour les PDF téléchargés sur s3, je ne sais pas quoi faire.
Canapin
(Coin-coin le Canapin)
Octobre 12, 2023, 8:49
2
Modification : suppression de ma réponse car j’avais mal compris le sujet
Merci thoka
thoka
(Thomas Kalka)
Octobre 12, 2023, 10:10
3
Hm. Il semble qu’il exige exactement le contraire de ma demande de fonctionnalité…
1 « J'aime »
thoka
(Thomas Kalka)
Octobre 12, 2023, 10:14
4
Selon cette source , vous devriez pouvoir obtenir le comportement souhaité en ajoutant download à ces liens via un composant de thème.
1 « J'aime »
Je dois trouver un moyen de changer tous mes liens pdf… il y a près de 3000 liens.
Devrait être une question de remappage de discours
This guide explains how-to change the domain name of your Discourse site, and includes information about setting up DNS changes, editing configuration files, updating site settings, and correcting social logins and post content to reflect your new domain name.
This guide is for self-hosted Discourse instances that were installed using our installation guide on GitHub . If you are hosted by Discourse , please see Configure your domain name for hosted Discourse for specific …
Mot de prudence : Testez-le d’abord sur un site de staging. Il se peut que cela ne fonctionne pas comme prévu.
1 « J'aime »
Don
Octobre 12, 2023, 6:57
7
Bonjour
Je pense que ce sujet est le même : Force download pdf on IOS
Pour cela, vous devez utiliser api.decorateCookedElement .
Quelque chose comme ceci devrait fonctionner
Placez-le dans la section Header d’un composant.
<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>
Je l’ai testé sur mon appareil et cela fonctionne pour moi, mais si vous souhaitez utiliser d’autres attributs, etc., vous pouvez facilement les modifier… J’espère que cela vous aidera
2 « J'aime »