J'ai une fonctionnalité sur un site Web dans lequel l'utilisateur se connecte, puis une liste de fichiers disponibles pour téléchargement est affichée. Quand il clique sur le fichier, il devrait afficher une boîte de dialogue de téléchargement avec les options pour ouvrir avec l'application si elle est installée pour le type de fichier (comme Acrobat Reader s'il est installé, par exemple) ou le téléchargement rapide si ce n'est pas le cas. Actuellement, je construis la liste en utilisant PHP juste en écho le chemin de chaque fichier. Ensuite, lorsque l'utilisateur clique sur le lien, le navigateur demande directement le fichier. Mon premier problème avec cela était que les fichiers ppsx ou pptx étaient affichés dans le navigateur sous la forme de fichiers texte, résultant en une vidange à l'écran. Ensuite, j'ai ajouté un fichier .htaccess dans le répertoire dans lequel les fichiers servis sont, avec ce contenu:Comment servir les fichiers à télécharger? Essayer de servir des fichiers que les utilisateurs peuvent visualiser/télécharger, mais le serveur répond par un type de contenu incorrect
Options All -Indexes
Header set Content-Disposition attachment
Avec ce fichier .htaccess, la boîte de dialogue du navigateur apparaît, mais, par exemple, dans Firefox, il a option "Ouvrir avec: Bloc-notes", au lieu de l'application correcte pour le fichier ou aucun si aucune application n'est installée pour le type de fichier. Je peux voir que l'en-tête de réponse Content-Type est "text/plain" et c'est faux, mais comment puis-je faire en sorte que le Content-Type correct soit détecté par le serveur?
Merci beaucoup.
Merci beaucoup pour votre réponse. On dirait que ça se passe de cette façon, mais le truc, c'est que je ne sais pas quels types de fichiers ils veulent télécharger. Il peut s'agir de PPSX, PDF, DOCX, TXT, ZIP, etc. –
Je ne suis pas familier avec Apache, mais le navigateur utilisera le type de fichier quand on lui donnera un type MIME générique comme application/octet-stream Mais vous pouvez également configurer le serveur pour les types de fichiers communs que vous rencontrerez. –