J'ai cette situation où nous avons des fichiers médias stockés sur un CDN global. Notre application Web est hébergée sur son propre serveur et, lorsque les ressources multimédias sont nécessaires, elles sont appelées à partir de l'url du CDN. Récemment, nous avions une page où l'utilisateur pouvait télécharger des fichiers joints, mais certains types de fichiers s'ouvraient dans le navigateur au lieu de se télécharger (comme les MP3). Le seul moyen de contourner ce problème était de spécifier manuellement la réponse HTTP pour joindre le fichier, mais la seule façon d'y parvenir était de télécharger le fichier du CDN vers mon serveur, puis de le renvoyer à l'utilisateur, ce qui va à l'encontre de l'objectif de l'avoir sur le CDN global. Je me demande donc s'il existe une solution côté client pour cela ?
EDIT : Je viens de trouver ceci quelque part, mais je ne suis pas sûr que cela fonctionne correctement dans tous les navigateurs ?
<body>
<script>
function downloadme(x){
myTempWindow = window.open(x,'','left=10000,screenX=10000');
myTempWindow.document.execCommand('SaveAs','null','download.pdf');
myTempWindow.close();
}
</script>
<a href=javascript:downloadme('/test.pdf');>Download this pdf</a>
</body>
RE-EDIT : Oh bien, tant pis pour cette idée -> Est-ce que execCommand SaveAs fonctionne dans Firefox ?