IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Web Discussion :

Comment afficher un apperçu d'une image avant son upload


Sujet :

Conception Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur électromécanicien
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur électromécanicien
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Par défaut Comment afficher un apperçu d'une image avant son upload
    Bonsoir à tous,

    Sur mon site d'annonce les internautes ont la possibilité d uploader jusqu'à 5 photos par annonce.

    Ce que je veux faire:

    1- l'internaute selectionne les images une par une.
    2- pour chaque image selectionnée s'affiche une appérçu.
    3- il à la possibilité de supprimer n'importe la quelle.
    4- une fois que toutes les images sélectionné et leur aperçu affiché, l'internaute les upload par le bouton valider.

    Pour mieux saisir mon objectif voir :

    - Le test ci-après:

    http://www.winsem.net/Ajout_Images

    - Les codes c-après

    Nb : pour le js et le css les codes sont récupérés et adaptés du net.

    Html:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
    <head>
     
    	 <link rel="stylesheet" type="text/css" href="ajoutimg.css" media="screen" />
     
    	 <!-- Script js pour l'ajout des photos -->
    	 <?php include"ajoutimg.js";?>
     
    </head>
    <body>
    <form action="index.php" method="post" enctype="multipart/form-data">
    	<table border align=center>
    		<tr>
    			<td colspan=3>
    			Photos d'illustration de l'annonce:
    			</td>
    		</tr>
    		<tr>	
    			<td  align=center valign=top >
    				<input type="hidden" name="MAX_FILE_SIZE" value="500000" />			
    				<div class="image-upload" >
    				<label for="files"><img width=100 height=100 src="UploadImg.png"/></label>
    				<input id="files" type="file" name="IllustrationPhoto1" accept="image/*" />
    				<output id="list"></output>
    				</div>
    			</td>
     
    			<td  align=center valign=top >
    				<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
    				<div class="image-upload" >
    				<label for="files"><img width=100 height=100 src="UploadImg.png"/></label>
    				<input id="files" type="file" name="IllustrationPhoto2" accept="image/*" />
    				<output id="list"></output>
    				</div>
    			</td>
     
    			<td  align=center valign=top >
    				<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
    				<div class="image-upload" >
    				<label for="files"><img width=100 height=100 src="UploadImg.png"/></label>
    				<input id="files" type="file" name="IllustrationPhoto3" accept="image/*" />
    				<output id="list"></output>
    				</div>
    			</td>
     
    		</tr>
     
    		<tr>	
    			<td align=center>
    				</br>
    				Afficher</br>
    				apper&ccedil;u image <span style="color:red">#1</span></br>
    				avant validation</br></br>
    				+</br></br>
    				<span style="color:red">possibilit&eacute; </br> de </br> suppression</span>
    				</br></br>
    			</td>
     
    			<td align=center>
     
    				</br>
    				Afficher</br>
    				apper&ccedil;u image <span style="color:red">#2</span></br>
    				avant validation</br></br>
    				+</br></br>
    				<span style="color:red">possibilit&eacute; </br> de </br> suppression</span>
    				</br></br>
     
    			</td>
     
    			<td align=center>
     
    				</br>
    				Afficher</br>
    				apper&ccedil;u image <span style="color:red">#3</span></br>
    				avant validation</br></br>
    				+</br></br>
    				<span style="color:red">possibilit&eacute;</br> de </br>suppression</span>
    				</br></br>
     
    			</td>
     
    		</tr>
     
    		<tr>
    			<td align=center colspan=3>
    			<input type="submit" />
    			</td>
    		</tr>
     
    	</table>
    </form>	
    </body>
    </html>

    Css
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .image-upload input
    	{
    		display: none;
    	}
     
    	.image-upload img
    	{
    		cursor: pointer;
    	}


    js

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <script>
    		function handleFileSelect(evt) {
    		var files = evt.target.IllustrationPhoto; // FileList object
     
    		// files is a FileList of File objects. List some properties.
    		var output = [];
    		for (var i = 0, f; f = IllustrationPhoto[i]; i++)
    			{
    			output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
    					  f.size, ' bytes, last modified: ',
    					  f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
    					  '</li>');
    			}
    		document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
    		}
    </script>

    Cordialement

    A. Farhani

  2. #2
    Membre éprouvé Avatar de Azerx
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2013
    Messages : 116
    Par défaut
    Bonjour,
    avec une petite recherche Google, tu tombes rapidement sur ceci et cela

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Salut,

    Ou si tu préfères un script prêt à l'emploi tu peux regarder ce module d'upload Ajax.

    Il y a toutes les fonctionnalités que tu demandes et bien d'autres comme la possibilité de recadrer et/ou redimensionner les images, informations sur l'upload en temps réel, reprise d'upload pour les gros fichiers, etc. Une quinzaine de formulaires dont plusieurs customisés et responsive design (compatibles smartphones) sont donnés en exemple avec php côté serveur pour fournir des scripts entièrement fonctionnels prêts à être testés directement sans modification préalable.
    Par ailleurs le script est conçu pour surpasser les limitations serveur (exceptées bien entendu celles définies volontairement par le webmestre dans la configuration du module) donc tu n'auras pas de problème concernant le nombre et la taille des fichiers.

Discussions similaires

  1. [Débutant] Comment afficher dans chaque axe une image
    Par Shokola dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 18/05/2015, 16h23
  2. [RpiCam] Comment afficher la date sur une image ou une video
    Par plawyx dans le forum Raspberry Pi
    Réponses: 2
    Dernier message: 25/01/2015, 21h37
  3. [Objective-C] comment afficher dans un scrollview une image ou une vidéo puis du texte?
    Par Seelass dans le forum Objective-C
    Réponses: 0
    Dernier message: 17/07/2012, 15h55
  4. Réponses: 1
    Dernier message: 05/07/2012, 15h51
  5. Réponses: 0
    Dernier message: 02/11/2011, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo