Rechercher : dans
Par :

Télécharger une image sans un clic droit

Dernière réponse le 27 fév 2009 à 16:43:57 bobenausaure, le 26 mai 2008 à 10:07:25 
 Signaler ce message aux modérateurs

Bonjour,

Sur mon site, je souhaite créer un lien permettant de télécharger une image. Mais lorsque l'utilisateur clique dessus, cela affiche l'image et ne la télécharge pas. Pour la télécharger, il faut faire Clic droit - Enregistrer sous...

Y a-t-il un autre moyen pour la télécharger directement sans l'afficher et faire Enregistrer sous... ??

Merci d'avance.
Amicalement.

Configuration: Windows Vista
Firefox 2.0.0.14

Meilleures réponses pour « Télécharger une image sans un clic droit » dans :
Plantage d'Explorer.exe après un clic droit VoirExplorer.exe se bloque lors d'un clic droit sur le Bureau Préambule Configuration à problèmes ? Résolution du problème Origine matérielle Origine logicielle Préambule Lors d'un clic-droit, par exemple sur le Bureau ou dans...
Javascript - Interdire le clic droit de la souris VoirIl est possible d'empêcher que votre visiteur effectue un clic droit sur votre page. Ceci permet une protection relative de vote code source et de vos photos. Placez ce script entre les balises et de votre code HTML :
Afficher les images et les animations Flash dans le navigateur VoirQuand vous allez sur un site internet, vous n'avez plus d'images affichées ; elles sont remplacées par un petit rectangle avec un carré rouge ou un triangle bleu (par exemple). 1 - Vérifier d'abord les paramètres de votre navigateur : Pour...

1

tropare, le 26 mai 2008 à 10:24:45

Il faut que tu mette limage comme lien de telechargement mais je n'est jamais essayé donc jpe pa te dire sans testé mé de tt façon sa va pa lé tué de faire un clic droit lol

Répondre à tropare

2

bobenausaure, le 26 mai 2008 à 10:38:11

Ok ouai, j'crois qu'y a pas d'autres solutions assez simple de toute façon...

Répondre à bobenausaure

3

PhP, le 26 mai 2008 à 11:05:24
  • +2

Bjr

Si tu utilises PHP alors tu peux essayer


test_envoi.php

<html>
<body>
<a href="envoi_image.php?filename=mon_image.jpg">Cliquer ici pour télécharger l'image</a>
</body>
</html>




envoi_image.php

<?php
if (isset($_GET["filename"]))
{
	$filename=$_GET["filename"];

	// Envoi du fichier
	header('Content-Transfer-Encoding: none');
	header('Content-Type: application/octetstream; name="'.$filename.'"');
	header('Content-Disposition: attachment; filename="'.$filename.'"');
	header('Content-length: '.filesize($filename));
	header("Pragma: no-cache"); 
	header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
	header("Expires: 0"); 
	@readfile($filename) OR die();
}		
?> 	


PhP  
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...

Répondre à PhP

4

bobenausaure, le 26 mai 2008 à 11:14:27

Ah bah ouai, là, ya pas mieux !!

c'est exactement c'que j'voulais !!

Merci beaucoup PhP.

Répondre à bobenausaure

5

norris, le 19 jui 2008 à 11:38:24

Bonjour !

J'ai passé au moins 5 heures à chercher comment faire ça sans Javascript....
et je tombe là dessus......que du bonheur ! merci beaucoup pour l'astuce PhP !

Désolé de faire remonter le post juste pour ça, mais je me pose une question. Ca fonctionne impeccablement, mais j'ai choisi de mettre mon image dans un dossier au même niveau que les pages PHP...
Pas de soucis pour créer le lien...là ça marche toujours, mais le fichier se trouve renommé avec comme suffixe, le nom de ce "sous dossier".
Ce n'est pas très embêtant après tout, mais j'aimerais bien comprendre pourquoi et je n'y arrive pas. Si vous aviez une piste, ce serait sympa.
Merci d'avance ;)

Répondre à norris

6

PhP, le 19 jui 2008 à 17:31:24
  • +1

Bjr

Evidemment car il faut conserver uniquement le nom du fichier : donc si $filename contient un chemin il suffit de le supprimer



<?php
if (isset($_GET["filename"]))
{
$filename=$_GET["filename"];
// ne conserver que le nom du fichier : le nom que verra s'afficher l'utilisateur
$uploadname=basename($filename);

// Envoi du fichier
header('Content-Transfer-Encoding: none');
header('Content-Type: application/octetstream');
header('Content-Disposition: attachment; filename="'.$uploadname.'"');
header('Content-length: '.filesize($filename));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
@readfile($filename) OR die();
}
?>
PhP  
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...

Répondre à PhP

11

 princesse95, le 27 fév 2009 à 16:43:57

Bonjour Ca marche nickel merci pour le code que j'ai eu du mail à trouver. Par contre, une fois l'image téléchargée, je ne peux rien faire. Elle ne s'ouvre pas et un message me dit que le fichier peut etre corrompu. Donc manque t-il quelque chose ? Merci

Répondre à princesse95

7

norris, le 19 jui 2008 à 18:56:13

Merci pour ta réactivité PhP !

En plus la solution est simple ! Je débute en Php et je me rends compte qu'il y a toujours une solution déjà prévue pour beaucoup de cas....vraiment sympa ce Php !....
Merci encore pour ton aide rapide ;)

Répondre à norris

8

Syl Vie, le 9 sep 2008 à 16:17:46

Pour télécharger des images sans faire un clic droit, tu peux aussi utiliser OutWit Hub. C'est une nouvelle extension firefox qui sert à récupérer des images, des photos, des adresses e-mails, etc en très peu de clics !
vous pouvez le télécharger sur mozilla.org.

a+ Découvrez des tutoriels d'OutWit en vidéo sur outwitter.fr

Répondre à Syl Vie

9

babyloon, le 14 oct 2008 à 21:24:03
  • +1

Bonjour!

Je suis moi aussi hyper heureuse d'être tombée sur cette solution car celà fé trop de temps que je cherchais comment faire pour ouvrir cette fenêtre de téléchargement!!
Merci bcp tu me sauves!! :)))

Seulement, j'ai un tout ti problème au niveau du nom de mon image. Mes images viennent de ma base de données et sont dans une région répétée.
le nom de chaque image est donc : fondecran_".$id.".jpg

Lorsque je mets <a href="download.php?filename=fondecran_".$id.".jpg"> comme nom d'image et ke je veux télécharger l'image, il ne me met que "fondecran_" sur la fenêtre de téléchargement...blurps..
Sais-tu comment faire pour soit convertir le nom soit ce ke je dois mettre exactement à la place du nom de l'image pour ke celà fonctionne correctement,,?

Je t'en serai vmt reconnaisssante!!
Merci d'avance!!..

Répondre à babyloon

10

atomik, le 29 nov 2008 à 21:40:28

Donne déjà le code de connexion et celui dans lequel tu traites $id.
mais je peux déjà te dire que c parce que ta variable est vide au moment du téléchargement.

Répondre à atomik
Collection CommentÇaMarche.net