Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour,

Je désire proposer aux visiteurs d'une page web de télécharger la carte d'une ville à différents taux de qualité jpg.

Comment proposer ces téléchargement, l'image fait 2500x1751 ?

Merci pour votr aide.

Régis

Modifié par Mincoin
Posté

Tu souhaite simplement que l'image ne s'affiche pas dans un navigateur ?

Si c'est le cas, je pense que la solution la plus simple est de créer un fichier ZIP qui contient l'image. En plus, grace à cette solution, tu peut glisser dans l'archive un fichier texte dans lequel tu rappel ton adresse web et dans lequel tu préviens que c'est toi le détenteurs des droits de l'image.

Il te suffit ensuite de mettre, juste à coté du lien, la taille de l'archive afin que tes visiteurs choisissent en fonction de leur connexion (ou de leur patience).

Vu la qualité de tes photos, ce serait domage que quelqu'un se les approprie.

Tizel

Alors, c'est quand que tu photographie la cote picarde ;) ?

Posté

le problème du zip c'est que c'est bon sur pc, problématique sur mac

fait plutot 3 versions de l'image (100%, 50%, 25% de sa taille) en .jpg

ensuite tu crées un selecteur (par un formulaire (<form>) cochable ou listé) proposant les 3 et un bouton valider

la validation poste la bonne image dans une nouvelle fenêtre (_blank) ou directement (invite 'ouvrir' ou 'enregistrer sous' pour le client)

tu peux aussi écrire le choix de résolution dans un cookie, ou dans une variable cachée repostée entre les pages (ces deux derniers en php ou en javascript), pour ne le demander qu'une seule fois quelle résolution l'utilisateur souhaite

demande des détails si l'une de ces possibilités t'interessent

il y en a surement pleins d'autres dailleurs

Posté
ensuite tu crées un selecteur (par un formulaire (<form>) cochable ou listé) proposant les 3 et un bouton valider

la validation poste la bonne image dans une nouvelle fenêtre (_blank) ou directement (invite 'ouvrir' ou 'enregistrer sous' pour le client)

Merci pour vos réponses.

Ok bien sûr pour ne pas exclure les macs :D

La soluce ci-dessus me convient, mais le code :(

Ce serait sympa de m'en donner les détails. :up:

A +

Régis

Posté

Si ça te conviens, le plus simple est de faire ce que je t'ai dit, sans les zip, en ouvrant dans une nouvelle fenêtre.

Par contre, le coup du cookie, je ne pense pas que ce soit une bonne idée car de plus en plus d'utilisateurs les refusent et que c'est pas forcément facile à gérer. (en plus, si le format ne lui conviens pas, il faut qu'il puisse facilement choisir un autre format).

Tizel

Posté

Bonjour Régis,

Tu peux trouver les explications pour une popup intelligente sur openweb.

Ce qui permet d'afficher une photo dans une nouvelle fenêtre (dont tu détermines l'apparence), mais affiche quand même la photo dans la même fenêtre pour ceux qui ont désactivé javascript.

Posté

Merci à tous,

La pop up intelligente me séduit.

C'est intéressant pour moi de bien maîtriser cette possibilité, cela pourra me servir en d'autres occasions :)

Une question : peut-on maîtriser la taille de la photo à l'intérieur de la pop up; c'est à dire avoir une pop up de 800x600 est mettre à l'intérieur une photo qui dans son fichier d'origine fait en réalité par exemple 1024x768 mais qui s'affiche dans pop up par exemple 750x550... :(

Je ne suis pas sûr d'avoir réussi à être clair dans la formulation de ma question ... ça ce voit que je ne suis pas informaticien :wacko:

A bientôt.

Régis

Posté
c'est à dire avoir une pop up de 800x600 est mettre à l'intérieur une photo qui dans son fichier d'origine fait en réalité par exemple 1024x768 mais qui s'affiche dans pop up par exemple 750x550... :(

Bonjour,

Ce n'est pas à faire pour deux raisons :

- le temps de chargement qui correspondra à la taille réelle de la photo

- la qualité de la photo qui sera certainement meilleure si tu optimises toi-même pour la taille voulue à l'affichage.

Posté

à priori comme c'est du php (serveur qui travaille), la question compatibilité client ne se pose pas, puisqu'aucun browser n'empêche l'ouverture de fichier par lien direct. simplement là tu "force" le clic client, dans le sens où cela revient à un lien hypertexte vers un fichier sur lequel le clic est automatique.

ça peut juste être mal pris (à moins qu'il ne faille cliquer pour arriver là, donc valider et accepter avant) mais ça doit marcher partout.

Posté
à priori comme c'est du php (serveur qui travaille), la question compatibilité client ne se pose pas

Le PHP génère les En-têtes et ce sont elles qui ne sont pas forcement compatibles tous Navigateurs.

Quant au téléchargement "direct" suite au clic sur un lien, c'était la demande initiale de Mincoin.

  • 1 month later...
Guest PierreThierry
Posté

Seul souci du code PHP sus-cité : le type MIME application/force-download, qui n'a jamais existé (http://www.iana.org/assignments/media-types/application/). Ce n'est donc pas standard du tout. L'utilisation de l'en-tête suivant suffit en fait à ce que l'image n'apparaisse pas dans le navigateur, qui proposera de sauvegarder le fichier (cf. RFC 2616, HTTP/1.1) :

Content-Dispotion: attachment; filename=mon-image.jpg

Voici le code nécessaire :

<?php
$filename = recupererCeFoutuNomDeFichierDUneQuelconqueManiere();
$type = recuperLeTypeMimeDuFichierEnQuestion($filename);
header("Content-Type: $type");
header('Content-Disposition: attachment; filename=' . basename($filename));
echo fread(fopen($filename, 'r'), filesize($filename));
?>

On peut se permettre de ne pas chercher précisément le type, auquel cas il suffit de transmettre

Content-Type: application/octet-stream

  • 4 semaines plus tard...
Posté

Bonjour, je viens de suivre toute cette conversation, puis j'ai testé la solution php en utilisant <header> avec les différents champs que cela impose. Cette methode fonctionne tout à fait à un détail près, le nom de fichier présent dans la fenêtre de téléchargement est du type : monFichier.ext.php . Je souhaiterai enlever la deusième estention (.php) opur proposer un download direct sans avoir à modifier le nom du dit fichier.

Quelqu'un aurait il eu le même problème ou une quelquionque solution.

Merci d'avance.

Bonne journée.

Posté

Pour ce qui est de la solution, elle se trouve dans les publications sur l'url_rewriting, et n'est pas difficile à mettre en place.

Le principe est celui ci :

Le client entre une adresse web (dans ton cas ce serait monFichier.ext.php) et le serveur, avant de commencer toute opération, changera cette adresse pour mettre celle qui te convient mieux. Par exemple monFichier.ext .

Si tu n'y arrive pas, n'hésites pas à refaire appel sur le forum.

Anonymus.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...