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é…
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.
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
Ce guide explique comment changer le nom de domaine de votre site Discourse, et inclut des informations sur la configuration des changements DNS, l’édition des fichiers de configuration, la mise à jour des paramètres du site, et la correction des connexions sociales et du contenu des publications pour refléter votre nouveau nom de domaine.
Ce guide s’adresse aux instances Discourse auto-hébergées qui ont été installées à l’aide de notre guide d’installation sur GitHub . S…
Mot de prudence : Testez-le d’abord sur un site de staging. Il se peut que cela ne fonctionne pas comme prévu.
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