Estou usando o s3 para hospedar meus arquivos na minha comunidade discourse, fiz um aplicativo iOS e preciso baixar arquivos PDF em vez de abri-los no aplicativo
Encontrei uma solução para um link de download:
<a href="download-url?wtn-download-file=true"> download File</a>
Mas para PDFs carregados no s3, não sei o que fazer.
Canapin
(Coin-coin le Canapin)
Outubro 12, 2023, 8:49am
2
Editar: removendo minha resposta, pois entendi mal o tópico
Obrigado thoka
thoka
(Thomas Kalka)
Outubro 12, 2023, 10:10am
3
Hm. Parece que ele exige exatamente o oposto do meu pedido de funcionalidade…
1 curtida
thoka
(Thomas Kalka)
Outubro 12, 2023, 10:14am
4
De acordo com esta fonte , você deve ser capaz de obter o comportamento desejado adicionando download a esses links através de um componente de tema.
1 curtida
Preciso encontrar uma maneira de alterar todos os meus links de PDF… são quase 3000 links
Deveria ser uma questão de remapeamento de discurso
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 …
Palavra de cautela: Teste primeiro em um site de staging. Pode não funcionar como esperado.
1 curtida
Don
Outubro 12, 2023, 6:57pm
7
Olá
Eu acho que este tópico é o mesmo: Force download pdf on IOS
Para isso, você tem que usar api.decorateCookedElement .
Algo como isto deve funcionar
Coloque-o na seção Header de um 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>
Eu testei no meu dispositivo e funciona para mim, mas se você quiser usar outro atributo, etc., você pode facilmente alterá-lo… Espero que ajude
2 curtidas