Estoy usando s3 para alojar mis archivos en mi comunidad de discourse, hice una aplicación para iOS y necesito descargar archivos PDF en lugar de abrirlos en la aplicación.
Encontré una solución para descargar un enlace:
<a href="download-url?wtn-download-file=true"> download File</a>
Pero para los PDF subidos en s3, no sé qué hacer.
Canapin
(Coin-coin le Canapin)
12 Octubre, 2023 08:49
2
Editar: eliminando mi respuesta ya que entendí mal el tema
Gracias thoka
thoka
(Thomas Kalka)
12 Octubre, 2023 10:10
3
Hm. Parece que exige exactamente lo contrario de mi solicitud de funcionalidad…
1 me gusta
thoka
(Thomas Kalka)
12 Octubre, 2023 10:14
4
Según esta fuente , deberías poder lograr el comportamiento deseado añadiendo download a estos enlaces a través de un componente temático.
1 me gusta
Necesito encontrar una manera de cambiar todos mis enlaces PDF… son casi 3000 enlaces.
Debería ser una cuestión de reasignación 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 …
Advertencia: Pruébelo primero en un sitio de prueba. Es posible que no funcione como se espera.
1 me gusta
Don
12 Octubre, 2023 18:57
7
Hola
Creo que este tema es el mismo: Force download pdf on IOS
Para esto, tienes que usar api.decorateCookedElement .
Algo como esto debería funcionar
Colócalo en la sección Header de 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>
Lo he probado en mi dispositivo y funciona para mí, pero si quieres usar otro atributo, etc., puedes cambiarlo fácilmente… Espero que ayude
2 Me gusta