Sto usando s3 per ospitare i miei file sulla mia community di discourse, ho creato un’app iOS e ho bisogno di scaricare file PDF invece di aprirli nell’app
Ho trovato una soluzione per un link di download:
<a href="download-url?wtn-download-file=true"> download File</a>
Ma per i PDF caricati su s3 non so cosa fare.
Canapin
(Coin-coin le Canapin)
12 Ottobre 2023, 8:49am
2
Modifica: rimuovo la mia risposta perché ho frainteso l’argomento
Grazie thoka
thoka
(Thomas Kalka)
12 Ottobre 2023, 10:10am
3
Hm. Sembra che richieda esattamente l’opposto della mia richiesta di funzionalità…
thoka
(Thomas Kalka)
12 Ottobre 2023, 10:14am
4
Secondo questa fonte , dovresti essere in grado di ottenere il comportamento desiderato aggiungendo download a questi link tramite un componente del tema.
Devo trovare un modo per cambiare tutti i miei link PDF… sono quasi 3000 link
Dovrebbe essere una questione di rimappatura del discorso
Questa guida spiega come modificare il nome di dominio del tuo sito Discourse e include informazioni sulla configurazione delle modifiche DNS, sulla modifica dei file di configurazione, sull’aggiornamento delle impostazioni del sito e sulla correzione degli accessi social e del contenuto dei post per riflettere il nuovo nome di dominio.
Questa guida è destinata alle istanze Discourse self-hosted installate utilizzando la nostra guida all’installazione su GitHub . Se sei o…
Parola di cautela: testalo prima su un sito di staging. Potrebbe non funzionare come previsto.
Don
12 Ottobre 2023, 6:57pm
7
Ciao
Penso che questo argomento sia lo stesso: Force download pdf on IOS
Per questo devi usare api.decorateCookedElement .
Qualcosa del genere dovrebbe funzionare
Mettilo nella sezione Header di un componente.
<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>
L’ho testato sul mio dispositivo e funziona per me, ma se vuoi usare altri attributi ecc. puoi cambiarli facilmente… Spero che aiuti