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…
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.
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
Este guia explica como alterar o nome de domínio do seu site Discourse e inclui informações sobre a configuração de alterações de DNS, edição de arquivos de configuração, atualização de configurações do site e correção de logins sociais e conteúdo de postagens para refletir seu novo nome de domínio.
Este guia é para instâncias Discourse auto-hospedadas que foram instaladas usando nosso guia de instalação no GitHub . Se você for hospedado pelo Discourse , consulte Configure…
Palavra de cautela: Teste primeiro em um site de staging. Pode não funcionar como esperado.
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