Détails
Prévisualiser une image avant de la télécharger
Je souhaite pouvoir prévisualiser un fichier (image) avant qu'il ne soit téléchargé. L'action de prévisualisation doit être exécutée dans le navigateur sans utiliser Ajax pour télécharger l'image.
Comment puis-je faire cela ?
1466
3
Veuillez consulter l'exemple de code ci-dessous :
Vous pouvez également [essayer cet exemple ici] (http://jsfiddle.net/LvsYc/).
La réponse de LeassTaTT fonctionne bien dans les navigateurs "standard" ; comme FF et Chrome. La solution pour IE existe, mais elle est différente. Voici la description de la solution multi-navigateurs :
En HTML, nous avons besoin de deux éléments d'aperçu, img pour les navigateurs standard et div pour IE.
HTML :
Dans le CSS, nous spécifions la chose suivante, spécifique à IE :
CSS :
En HTML, nous incluons les Javascripts standard et ceux spécifiques à IE :
function readURL (imgFile) {
var newPreview = document.getElementById('preview_ie'); newPreview.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgFile.value; newPreview.style.width = '160px'; newPreview.style.height = '120px'; }
Pourquoi ne pas créer une fonction qui charge le fichier et déclenche un événement personnalisé ? Attachez ensuite un écouteur à l'entrée. De cette façon, nous avons plus de flexibilité pour utiliser le fichier, et pas seulement pour la prévisualisation des images.
Mon code n'est probablement pas aussi bon que celui de certains utilisateurs, mais je pense que vous comprendrez l'essentiel. Vous pouvez voir ici un [exemple][1].
[1] : http://jsfiddle.net/ajorquera/U6S4T/3/