Bonjour,

Pour forcer le téléchargement des fichiers PDF que je publie sur ma page Web, j’ai essayé l’attribut "download" selon plusieurs instructions que l’on trouve sur les sites Web spécialisés. Mais Firefox ouvre mes fichiers PDF dans son application au lieu de les télécharger sans les ouvrir!

Je vous informe des points suivants :

1- J’utilise le dernier mis à jour encore disponible du logiciel "Microsoft Expression Web 4" que j’ai paramétré pour HTML 5.

2- "L’Expression Web" toujours m’avertit du suivant: "Dans HTML 5 l'attribut "download" n'est pas autorisé pour la balise <a>".
C’est un faux avertissement si l’on croit ce qu’on voit sur HTML 5 dans les sites spécialisés comme le vôtre.
De toute façon, j’utilise l’attribut "download".

3- J’ai aussi essayé les autres solutions comme le fichier ".htaccess".

4- Je n’ai aucune connaissance des autres choses comme pages en "PHP" et les scripts compliqués et complexes!

Merci par avance de me renseigner.
Cordialement,
Modifié par AM10 (11 Sep 2022 - 23:40)
Bonjour,
il semble que cet attribut est dépendant des différents navigateurs et appareils.
Chez moi sous Firefox desktop et avec ce code :
<a href="Mon_image.pdf"><img src="#" data-src="Images/pdf.svg.png" width="48" height="48" title="Partition Mon-pdf (PDF, 100ko, nouvelle fenêtre)" alt="Mon_pdf"></a>

le navigateur propose soit de télécharger soit de visionner le pdf (la partie "img src="#" data-src="Images/pdf.svg.png" est là pour le LazyLoad, tu peux l'ignorer et elle n'a pas d'incidence sur le problème).
Sur un mobile SAMSUNG Android et le même site, il télécharge d'office, sans proposer de choix. Sur d'autres appareils ou navigateurs, j'ai vu une flèche de téléchargement, sans avoir mis cette balise.
Il est par contre conseillé de préciser entre parenthèses que c'est un pdf, qu'il fait tel poids et qu'il va s'ouvrir dans une nouvelle fenêtre, comme mon code l'indique.
Bonjour Bongota,

Merci d'avoir répondu à mon post.
J’ai essayé vos instructions. Mais, le résultat est du même qu'avant.
Pour éviter toute erreur, j'ai essayé une fois sans le code que vous avez ajouté pour une image que vous aviez insérée dans votre page ; et une autre fois avec ce code.
En plus, mon logiciel "Microsoft Expression Web 4" m'a indiqué ceci : "Dans HTML 5, l'attribut 'data-sr' n'est pas autorisé pour la balise <img>".

Cordialement,
Modifié par AM10 (12 Sep 2022 - 18:22)
Pour compléter mon post principal :
Voici le code (les noms, etc. ont été changés) que j'ai déjà dans ma page:
<a href="http://monsite.com/ab/ba/MonFichier.pdf" download="information.pdf"><img alt="Monimage" src="../xy/imageA.jpg"></a>

Modifié par AM10 (12 Sep 2022 - 18:15)
Pour répondre à la première question, je pencherais pour un choix, et non pas un chargement automatique, sans le demander. Il faut penser aux faibles bandes passantes et aux personnes qui ne veulent pas télécharger le pdf ou autre fichier.
L'attribut data-src est bien permis dans la balise img, on s'en sert entre autres pour le Lazy-Load avec intersection observer. Dans mon code, il y a aussi src:"#" pour la validation, mais c'est un détail.
J'ai bien pointé le fait que suivant les navigateurs et les appareils, le choix n'était pas le même pour une balise identique. Et Firefox propose soit le téléchargement soit l'ouverture sans téléchargement. Que demander de mieux ?
Modérateur
Bonjour,

Le code ci-dessous avec Chrome ou Firefox (sur un Mac) télécharge directement le fichier :

<a href="a.pdf" download="information.pdf"><img alt="Monimage" src="myImg.jpg"></a>

Quelques remarques :
1) Si le nom du fichier pdf dans le href du lien est précédé d'un domaine qui n'est pas le même domaine que la page contenant le lien, mon Chrome affiche le pdf au lieu de le télécharger. Tandis que mon Firefox le télécharge.
2) Il est possible pour un utilisateur de configurer son navigateur afin qu'un type de fichier soit affiché plutôt que téléchargé. Voir par exemple https://support.mozilla.org/fr/kb/gerer-types-de-fichiers-actions-de-telechargement-firefox?redirectslug=changer-ce-que-fait-firefox-lorsque-vous-cliquez-telechargez-fichier

Amicalement,
a écrit :
1) Si le nom du fichier pdf dans le href du lien est précédé d'un domaine qui n'est pas le même domaine que la page contenant le lien, mon Chrome affiche le pdf au lieu de le télécharger. Tandis que mon Firefox le télécharge.

Ça, je ne savais pas, merci d'avoir signalé ces particularités.
a écrit :
2) Il est possible pour un utilisateur de configurer son navigateur afin qu'un type de fichier soit affiché plutôt que téléchargé.

Exact, j'avais oublié de lui signaler, mais c'est individuel, le développeur du site ne peut pas décider comment le navigateur va réagir, et c'est regrettable.
Sur l'un de mes sites, j'ai par exemple une musique liée à une vidéo. Je voudrais qu'un visiteur puisse écouter la musique, sans visionner la vidéo. Un lien de téléchargement va se comporter différemment suivant les navigateurs, c'est ça le problème. Ou alors, il faut ajouter un second lien, d'écoute seulement. C'est un peu lourd.
Modifié par Bongota (13 Sep 2022 - 09:54)
Modérateur
Bonjour,

Bongota a écrit :
Le développeur du site ne peut pas décider comment le navigateur va réagir, et c'est regrettable.

Mais c'est du totalitarisme, ça ! Smiley lol

On peut quand même comprendre que certains utilisateurs aient envie de voir ce qu'ils s'apprêtent à télécharger avant de télécharger.

Amicalement,
Je présente mes excuses publiques pour cette tentative de main-mise sur les pages des visiteurs Smiley lol
Je parlais de ce cas précis du téléchargement où, justement le navigateur n'en fait qu'à sa tête et le visiteur en subit les conséquences.
Modérateur
Bongota a écrit :
Je présente mes excuses publiques pour cette tentative de main-mise sur les pages des visiteurs Smiley lol
Je parlais de ce cas précis du téléchargement où, justement le navigateur n'en fait qu'à sa tête et le visiteur en subit les conséquences.


j'adore,
bon après le visiteur n'utilise souvent qu'un seul navigateur, ou tout du moins selon les médias qu'il utilise (pc/mobile/bureau?) . alors du coup, il est habitué au comportement de son navigateur habituel et n'est probablement pas plus perturbé que ça.