Effet du paramètre download de marque HTML <a>

Résolu/Fermé
charp78 Messages postés 40 Date d'inscription lundi 4 juillet 2016 Statut Membre Dernière intervention 6 juillet 2024 - 22 mars 2023 à 16:43
charp78 Messages postés 40 Date d'inscription lundi 4 juillet 2016 Statut Membre Dernière intervention 6 juillet 2024 - 23 mars 2023 à 14:05

Bonjour,

Dans un fichier HTML j'ai un lien vers un fichier jpg et j'aimerais que lors de l'utilisation du lien le fichier jpg soit téléchargé afin d'utiliser l'application "photo".

J'ai essayé l'argument download qui d'après sa documentation devrait traiter mon problème :

<a   href="yyyyyy.jpg" download="arbre.jpg">xxxxxxxxxx</a>

Mais avec firefox (ou hedge) l'utilisation du lien entraîne l'affichage du jpg par une application que je n'ai pas identifiée (avec une icône "+") qui n'est pas "photo".

Dans les paramètre de firefox j'ai le lien jpeg -> photo.

Ai-je mal compris l'effet de "download" ?

Question annexe : Quelle est cette application de visualisation avec un "+" ?

Merci de votre aide.

Cordialement.

Jean


Windows / Firefox 111.0

A voir également:

2 réponses

Salut,

vous pouvez commencer par regarder ici vous verrez que vous n'avez pas à mettre l'extension du fichier dans l'attribut download si vous lui donnez une valeur.

https://www.w3schools.com/TAGS/att_a_download.asp

En fait avec ce que vous avez écrit le téléchargement se fera et le fichier sera nommé "arbre.jpg.jpg"

Pour la compatibilité des navigateurs vous pouvez voir ici:

https://caniuse.com/download

Mais cet attribut peut rester délicat à utiliser car il dépendra aussi des paramètre définis par l'utilisateur pour les fichiers téléchargés(aussi bien que pour l'autorisation de les télécharger) ou même d'éventuelles extensions qui interdisent un téléchargement automatique.

Pour remédier à cela vous devez clairement mettre le fichier téléchargé dans le lien histoire de laisser libre à l'utilisateur la possibilité de télécharger sans utiliser l'attribut download et vous pouvez indiquer : " si le téléchargement en cliquant sur le lien ne fonctionne pas faites un clic droit sur l'image puis cliquer sur télécharger le fichier."

Votre HTML pourrait ressembler à cela:

<a href="yyy.jpg" download="arbre"><img src="yyy.jpg" alt="description image"/></a>
<p>si le lien ne fonctioonne pas vous pouvez télécharger le fichier en faisant un clic droit sur l'image puis "enregistrer sous"</p>

Pour l'ouverture du fichier automatiquement par un logiciel cela aussi dépends des paramétres de l'utilisateur et du navigateur. Il me semble que par défaut tout fichier téléchargé sera ouvert par le navigateur(mais pas sûr) s'il peut le faire. Donc c'est peut-être firefox qui télécharge dans le dossier téléchargements puis ouvre une fenêtre mais évidemment sans voir exactement ce qui se passe impossible de dire quoi que ce soit de précis. Quand vore fichier est affiché vous pouvez regarder dans la barre des tâches (si sous windows ou mac) quel application est lancé et vous serez fixé.

Donc dans l'absolu corigez l'attribut download pour donner un nom de fichier correct(ou pas du tout de valeur et en rennomant le fichier originel avec le nom voulu) tout en sachant que rien ne garantit que le téléchargement sera effectué, donc en laissant le libre choix de faire un clic droit --> enregistrer sous à l'utilisateur qui a bloqué ce genre de téléchargements auto qui représente quand même un risque de sécurité et n'est pas conforme avec la politique du web qui pour de nombreuses raisons (pratique et fonctionnelle en premier lieu mais aussi accessibilité et référencement) évite de devoir utiliser des contenus hors du navigateur et de leur affichage, contenus qui sont déjà téléchargés déjà par le navigateur donc cela fait doublon inutilement et complique les choses pour l'utilisateur qui pour voir un fichier va devoir faire des opérations supplémentaires, ouvrir un autre logiciel, chercher le fichier dans le dossier téléchargé etc...

*la dernière remarque est particulière pour un fichier image ou autre média qui peut s'afficher dans le navigateur sans soucis(enfin le format et la taille du fichier importe un peu quand même). S'il s'agissait d'un autre type de fichier celle ci pourrait ne pas s'appliquer mais il existe d'autres façons de faire plus pratique et standard que télécharger un contenu(par exemple les bases de données).

En résumé c'est possible ce que vous faites mais pas reccomandé dans la majorité des cas d'utilisation et laisse le libre choix pour l'utilisateur de télécharger sur le disque dur l'image s'il le souhaite une fois celle ci affichée.

ps: Une autre solution est aussi de simplement faire un lien vers le fichier auquel cas si celui ci peut s'afficher dans le navigateur il s'y affichera(sinon il sera proposé au téléchargement dans le dossier de télécahrgements).

<a href="images/monimage.jpg">voir l'image</a>

ou éventuellement

<a href="images/monimage.jpg" target="_blank" >voir l'image</a> pour conserver l'onglet de navigation en cours.

1
charp78 Messages postés 40 Date d'inscription lundi 4 juillet 2016 Statut Membre Dernière intervention 6 juillet 2024 5
23 mars 2023 à 14:05

Bonjour

Merci de votre réponse.

J'ai fait des essais avec et sans l'argument download (<a  href="david.jpg" download="arbre.jpg">arbre DAVID</a>), Le fichier david.jpg est un jpg de 5400*3600.

Consultation d'un mobile (samsung) : parfait dans les 2 cas : déplacement avec 1 doigt et zoom avec 2 doigts.

Du PC en accès internet avec firefox :

- sans download : visualisation avec l'outil (?) avec l'icône "+".

- avec download : chargement et ouverture par photo avec le nom du fichier arbre-xx.jpg.

Du PC en accès internet avec edge (les paramètre de edge sont sans doute différents de ceux de firefox, je n'utilise pas edge) :

- sans download : visualisation avec l'outil (?) avec l'icône "+".

- avec download : chargement sans ouverture avec le nom du fichier arbre(xx).jpg, si demande d'ouverture utilise photo.

Du PC en direct :

- avec/sans download, firefox/edge : visualisation avec l'outil (?) avec l'icône "+".

le paramètre download traite bien mon problème.

Merci de votre aide.

Cordialement.

Jean

<

A

1