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…
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.
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
Esta guía explica cómo cambiar el nombre de dominio de su sitio de Discourse e incluye información sobre cómo configurar los cambios de DNS, editar archivos de configuración, actualizar la configuración del sitio y corregir los inicios de sesión sociales y el contenido de las publicaciones para que reflejen su nuevo nombre de dominio.
Esta guía es para instancias de Discourse autohospedadas que se instalaron utilizando nuestra guía de instalación en GitHub . Si usted está…
Advertencia: Pruébelo primero en un sitio de prueba. Es posible que no funcione como se espera.
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