JavaScript et les fichiers [Résolu]

Signaler
Messages postés
273
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
24 juin 2014
-
Messages postés
273
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
24 juin 2014
-
Bonjour,

Est-ce que
JavaScript
permet les opérations d'écriture et de lecture sur un fichier texte, par exemple ?

Merci pour toute éventuelle réponse
--

3 réponses

Messages postés
32458
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 mai 2021
347
Bonjour,

Déjà... tout dépend de l'emplacement de ton fichier texte.
Si tu souhaites écrire/lire un fichier se trouvant sur le serveur la réponse est NON (javascript s'executant côté client).

Ensuite.. tout dépend également de ton navigateur.
La solution la plus répandue utilise un ActiveX (non compatible avec fireFox)
par exemple :
function WriteToFile()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("C:\\NewFile.txt", true);
var text=" blablabla....et bla ! ";
s.WriteLine(text);
s.Close();
}


Pour FireFox il semble que cela soit faisable d'une autre manière (non testée par mes soins...)
http://www.codeproject.com/Questions/556268/Writingplustoplustextplusfileplusnotplusworkingplu

Messages postés
273
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
24 juin 2014
6
Merci !!
Messages postés
1784
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
28 avril 2021
128
pour firefox chrome ie9 et > pour lire un fichier il faut utiliser filereader par contre il ne sera pas possible d'enregitrer le fichier sur le disque dur au mieux on peut enregistrer le fichier avec localstorage mais il sera accessible uniquement avec le navigateur

petite teste pour la lecture d'un fichier

 <!doctype html>
    <html lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <head>
    <style type="text/css">
	
	body{
		font-family:Verdana, Geneva, sans-serif;
		background-color:#b2bdc6;
		}
	
	#fileinput{
	position:fixed;
	top:3%;
	}
	
	.box{
    background-color:gray;
    height:80%;
    width:20%;
	top:10%;
    position:fixed;
	float:left;
    border:1px ridge #aaa;
    -moz-box-shadow: 10px 10px 10px #212121;
    -webkit-box-shadow: 10px 10px 10px #212121;
    box-shadow: 10px 10px 10px #616161;
    text-align:center;
    }
	
    textarea{
    width:100%;
    height:150px;
    margin:auto;
	margin-bottom:15px;
	border:2px ridge #aaa;
	border-color:#585858;
    -moz-box-shadow: 10px 10px 10px #212121;
    -webkit-box-shadow: 10px 10px 10px #212121;
    box-shadow: 10px 10px 10px #616161;
    }
    #conteneur{
    width:70%;
	float:right;
	margin-right:40px;
    }
    div{
    margin:auto;
    }
    </style>
    <script type="text/javascript">
	
    var compteur=0
	
    function dragenter(e) {
    e.stopPropagation();
    e.preventDefault();
    }
    function drop(e) {
    
    if (!e) {
    var fichier = document.getElementById('fileinput').files;
    }
    else {
    var fichier = e.dataTransfer.files;
    }
    
    charger(fichier)
    }
	
	
    function charger(fichier){
   
    var dv=document.createElement('textarea')
    
	var charge=new FileReader();
	
    charge.readAsText(fichier[compteur]);
	
    charge.onloadend = function(e){
    dv.value = e.target.result;
	
    if (compteur<fichier.length-1) {
    compteur++;
    charger(fichier);
    }
    else{
    compteur=0;
    }
	document.getElementById('conteneur').appendChild(dv);
    }
	
    }
    </script>
    </head>
    <body>
    <div class='box'
    ondragenter="event.stopPropagation(); event.preventDefault();"
    ondragover="event.stopPropagation(); event.preventDefault();"
    ondrop="event.stopPropagation(); event.preventDefault(); drop(event);">
    boite a drop
    </div>
    <br>
    <div>
    <input type='file' multiple='multiple' id='fileinput' onchange='drop()'>
	</div>
    <br>
    <div id='conteneur'></div>
    </body>
    </html>

Messages postés
273
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
24 juin 2014
6
Merci pour les informations précieuses, Kamza
Messages postés
295
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
15 juillet 2015
1
Je croit que oui avec la méthode filltext()
va voir sa sur openclassroom.
Messages postés
273
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
24 juin 2014
6
Merci mais filltext() n'a rien à voir avec l'écriture dans un fichier.