Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2011, 13h32   #1
Invité de passage
 
Développeur informatique
Inscription : mars 2009
Messages : 10
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2009
Messages : 10
Points : 1
Points : 1
Envoyer un message via Skype™ à NZaNGa
Par défaut getAsDataURL et cross-navigateur

Bonjour a tous,

je cherche une solution pour rafraichir une img src a partir d un imput="file"

Sous FF je passe par un getAsDataURL et cela fonctionne sans problème.
Auriez vous une solution de rafraichissement automatique de l image associée a un imput="file" pour les autres navigateurs ?

Merci d avance pour vos lumières.
NZaNGa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 15h11   #2
Membre chevronné
 
Homme Krusty
Inscription : mai 2009
Messages : 472
Détails du profil
Informations personnelles :
Nom : Homme Krusty
Localisation : France

Informations forums :
Inscription : mai 2009
Messages : 472
Points : 617
Points : 617
si il sagit d'une image a la fois il faut faire comme ceci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function chacharge(){
 
	var fichier = document.getElementById('mon_input').files;
 
 
	var charge=new FileReader();
	charge.readAsDataURL(fichier[0]);
	charge.onloadend = function(e){
 
		document.getElementById('mon_image').src = e.target.result;
 
	}
}
dans l'exemple le input a pour id "mon_input" et la balise img 'mon_image
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait.
mekal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 16h14   #3
Invité de passage
 
Développeur informatique
Inscription : mars 2009
Messages : 10
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2009
Messages : 10
Points : 1
Points : 1
Envoyer un message via Skype™ à NZaNGa
Merci mekal pour ta reponse,

Je viens de tester sous FF --> OK
sous IE / SAFARI / SE / --> Pas de MAJ du img src ?!

Ai je oublié qq chose ?

Merci d avance
NZaNGa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 16h52   #4
Membre chevronné
 
Homme Krusty
Inscription : mai 2009
Messages : 472
Détails du profil
Informations personnelles :
Nom : Homme Krusty
Localisation : France

Informations forums :
Inscription : mai 2009
Messages : 472
Points : 617
Points : 617
le probleme c'est que ces specifications son recentes et pas ou partielement implementé sur les navigateur

ce que j'ai mis fonctionne completement sur ff opera et chrome faire attention avec chrome car sa ne fonctionne pas en local il faut tester en ligne pour safarie a ma connaissance sa fonctionne partiellement mais il n'affiche pas d'image et enfin pour IE peut etre en 2020
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait.
mekal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 16h59   #5
Invité de passage
 
Développeur informatique
Inscription : mars 2009
Messages : 10
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2009
Messages : 10
Points : 1
Points : 1
Envoyer un message via Skype™ à NZaNGa
Autrement j ai cette fonction qui fonctionne pour FF IE mais pas pour Safari et les browser mobile (SE, Samsung...)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript" language="javascript"> 
 
document.getElementById('photo').onchange = function() { 
 var filename = document.getElementById('photo').value; 
 var Img = new Image(); 
 
 if (navigator.appName == 'Netscape') { 
  document.getElementById('wMedia').src = document.getElementById('photo').files[0].getAsDataURL();
 } 
 else { 
  Img.src = filename; 
  document.getElementById('wMedia').src = Img.src;  
 } 
} 
</script>
Si tu as des idées je suis preneur...

Merci d avance
NZaNGa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 20h32   #6
Membre chevronné
 
Homme Krusty
Inscription : mai 2009
Messages : 472
Détails du profil
Informations personnelles :
Nom : Homme Krusty
Localisation : France

Informations forums :
Inscription : mai 2009
Messages : 472
Points : 617
Points : 617
sa marche pour ie car ie recuper le chemin de l'image par value ce que ne font pas les autres navigateurs pour une question de securite

avec le support ie sa donne ca

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function chacharge(){
 
	if(document.all) {
var filename = document.getElementById('mon_input').value;
var Img = new Image();
Img.src = filename;
document.getElementById('mon_image').src = Img.src; 
}
else{
	var fichier = document.getElementById('mon_input').files;
 
	var charge=new FileReader();
	charge.readAsDataURL(fichier[0]);
	charge.onload = function(e){
 
		document.getElementById('mon_image').src = e.target.result;
		}
		}
	}
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait.
mekal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h43   #7
Invité de passage
 
Développeur informatique
Inscription : mars 2009
Messages : 10
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2009
Messages : 10
Points : 1
Points : 1
Envoyer un message via Skype™ à NZaNGa
Desolé, mais cela ne fonctionne toujours pas en cross-browser.

quelqu un aurai une idee pour rendre ce code compatible cross-browser ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript" language="javascript"> 
 
document.getElementById('photo').onchange = function() { 
 var filename = document.getElementById('photo').value; 
 var Img = new Image(); 
 
 if (navigator.appName == 'Netscape') { 
  document.getElementById('wMedia').src = document.getElementById('photo').files[0].getAsDataURL();
 } 
 else { 
  Img.src = filename; 
  document.getElementById('wMedia').src = Img.src;  
 } 
} 
</script>
merci d avance
NZaNGa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h28.


 
 
 
 
Partenaires

Hébergement Web