Tener un momento muy frustrante para que Chrome y Firefox en iOS descarguen un archivo de mi servidor usando JS.
Funciona en Safari iOS y Android Chrome.
Intenté usar encabezados de disposición de contenido y atributos de descarga, pero fue en vano.
function downloadVideo(url){ new jsFileDownloader({ headers: [{ name: 'Content-Disposition', value: 'attachment; filename="video.mp4"', name: 'Content-Type', value: 'video/mp4' }], url: '/download?url=' + url, filename: 'file.mp4', withCredentials: false, forceDesktopMode: true, contentType: 'video/mp4', contentTypeDetermination: 'header' } ) data.map((link, index) =>{ links.innerHTML += ` <button onclick=downloadVideo("${link}") target="_blank" href="${link}"download=${index+1}.mp4>Download #${index+1}</button> ` })