Tengo una página donde hay una etiqueta de anclaje con atributo de descarga para descargar el archivo, ahora el href contiene una solicitud de back-end que redirige a un enlace de S3 donde se almacenó el archivo y abre el archivo en una nueva pestaña. Ahora en todos los navegadores de escritorio (chrome, firefox, safari) en firefox móvil, safari (IOS, Andriod) funciona bien, solo tengo problemas con Chrome en Android donde la nueva pestaña se abre y se cierra de inmediato, deja te muestro mi codigo
<a download={`statement-${statement.month_name}.pdf`} href={`${statement.url}`} target={"_blank"} > {statement.year} {"・"} {statement.month_name} </a> la statement.url devuelve una URL de back-end como
http://somedomainname.com/api/accounts/3346062314455116393/statements/2021/9/?sig=eyJ1c2VyX2lkIjozMzQ2MDYyMzE0Mjk5ODgwODI5fQ%3A1mhzTu%3AD6p8vy-zXuROLF7kL3C0PCa8lbxeupNQKDUrfNvJ8uY%3A1mhzTu%3A6sty7KxllEwDqOj1uevrGkh7vmztyCnSD4pyqFP9KrUque redirige a
https://bucketname.s3.amazonaws.com/sandbox/account_statement_sample.pdf?token=sometoken&config=qubest&date=0921&statementType=Gahora, como puede ver en la etiqueta a, hay un atributo de descarga que, en teoría, debería forzar la descarga del archivo, pero abre el PDF en una nueva pestaña, pensé en implementar un script personalizado donde obligaría a descargar el archivo a través de javascript
fetch(url).then(function(t) { return t.blob().then((b)=>{ var a = document.createElement("a"); a.href = URL.createObjectURL(b); a.setAttribute("download", filename); a.click(); }esto funciona para la mayoría de los archivos, pero no para la ruta del depósito S3, ya que Amazon ha deshabilitado CORS por razones de seguridad, por lo que no puedo usarlo.
Si alguien sabe algo sobre esto, agradecería cualquier tipo de ayuda, he estado atascado durante días.