JavaScript et les fichiers [Résolu]

begueradj 291 Messages postés dimanche 4 octobre 2009Date d'inscription 25 août 2014 Dernière intervention - 29 avril 2014 à 16:28 - Dernière réponse : begueradj 291 Messages postés dimanche 4 octobre 2009Date d'inscription 25 août 2014 Dernière intervention
- 30 avril 2014 à 07:51
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
--
Afficher la suite 

Votre réponse

6 réponses

jordane45 21169 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 25 mai 2018 Dernière intervention - 29 avril 2014 à 16:43
+1
Utile
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

Cette réponse vous a-t-elle aidé ?  
begueradj 291 Messages postés dimanche 4 octobre 2009Date d'inscription 25 août 2014 Dernière intervention - 29 avril 2014 à 16:50
Merci !!
Commenter la réponse de jordane45
@karamel 1655 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention - 29 avril 2014 à 16:52
+1
Utile
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>

Cette réponse vous a-t-elle aidé ?  
begueradj 291 Messages postés dimanche 4 octobre 2009Date d'inscription 25 août 2014 Dernière intervention - 30 avril 2014 à 07:51
Merci pour les informations précieuses, Kamza
Commenter la réponse de @karamel
EnguerrandP 295 Messages postés vendredi 26 avril 2013Date d'inscription 15 juillet 2015 Dernière intervention - 29 avril 2014 à 16:33
-1
Utile
Je croit que oui avec la méthode filltext()
va voir sa sur openclassroom.
begueradj 291 Messages postés dimanche 4 octobre 2009Date d'inscription 25 août 2014 Dernière intervention - 29 avril 2014 à 16:48
Merci mais filltext() n'a rien à voir avec l'écriture dans un fichier.
Commenter la réponse de EnguerrandP

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.