Bonjour,
Après beaucoup de lecture, je n'ai pas trouvé de solution à mon problème.
Je réalise une application HTML5 pour analyser et lire des fichier XML stockés en local sur son ordinateur (pas de liaison donc avec quelconque serveurs)
Chaque fichier contient 1 donnée, je dois donc analyser les "n" fichiers pour récupérer 1 valeur afin d'obtenir un tableau que je pourrais afficher (avec un graph ou non)
Sur mon application, j'ai créé une zone de drag'n'Drop pour récupérer les fichiers
Ensuite viens le moment de lire leur contenu que je réalise comme ci-dessous:
L'API readAsText nécessite de récupérer le résultat dans une fonction callback. Or dans cette fonction callback, il m'est impossible de stocker/récupérer un résultat dans une variable globale.
Du coup, a chaque fichier je suis obligé de faire le traitement complet, et pouvant avoir plus de 200 fichier à traiter, le navigateur plante.
Existe-t-il une solution pour stocker et récupérer ces infos?
Mamax
Modifié par mamax (05 Mar 2014 - 11:36)
Après beaucoup de lecture, je n'ai pas trouvé de solution à mon problème.
Je réalise une application HTML5 pour analyser et lire des fichier XML stockés en local sur son ordinateur (pas de liaison donc avec quelconque serveurs)
Chaque fichier contient 1 donnée, je dois donc analyser les "n" fichiers pour récupérer 1 valeur afin d'obtenir un tableau que je pourrais afficher (avec un graph ou non)
Sur mon application, j'ai créé une zone de drag'n'Drop pour récupérer les fichiers
Ensuite viens le moment de lire leur contenu que je réalise comme ci-dessous:
function lire_fichier() {
for (var i = 0; i < fichiers.length; i++) {
var fichier = new FileReader();
/* A la lecture du fichier */
fichier.onload = function(event) {
/* on charge le contenu du fichier dans une variable */
var contenu_fichier = event.target.result;
/* on cherche ce dont on a besoin et on supprime les espaces en début et fin de ligne*/
var liste_compteur_str = $.trim($(contenu_fichier).find('measTypes').text());
.....
Traitement
.....
};
fichier.readAsText(fichiers\[\i]);
}
}
L'API readAsText nécessite de récupérer le résultat dans une fonction callback. Or dans cette fonction callback, il m'est impossible de stocker/récupérer un résultat dans une variable globale.
Du coup, a chaque fichier je suis obligé de faire le traitement complet, et pouvant avoir plus de 200 fichier à traiter, le navigateur plante.
Existe-t-il une solution pour stocker et récupérer ces infos?
Mamax
Modifié par mamax (05 Mar 2014 - 11:36)