Lire un fichier en mode synchrone en Javascript

Je voudrais lire un fichier et de le convertir en une chaîne encodée en base64 à l'aide de l'objet FileReader. Voici le code que j'utilise :

 
var reader = new FileReader(); 
reader.onloadend = function(evt) { 
//le fichier est chargé 
result_base64 = evt.cible.résultat; 
}; 
reader.readAsDataURL(fichier); 


Mais dans ce cas, j'obtiens le résultat de la conversion dans le gestionnaire d'événements (onLoadEnd de l'événement). Je voudrais une méthode synchrone. Est-il un moyen de la "readAsDataURL" méthode peut retourner directement la valeur de la 'result_base64 variable ?

Grâce

  • "Je voudrais une méthode synchrone." Une raison particulière? Je ne pense pas que c'est possible.
  • firefox a/avait le fichier.getAsDataURL() méthode, mais il est obsolète et a été le seul sync version de n'importe quel navigateur, autant que je sache.
  • - Je stocker les chemins d'accès dans un local de stockage de base de données, j'ai besoin d'envoyer les images vers un serveur par la suite (avec une boucle sur toutes les images, c'est pourquoi j'ai besoin d'une méthode synchrone). Je voudrais éviter de stocker base64 chaînes de caractères dans la base de données afin de ne pas dépasser le local de stockage limite...
  • Mais vous pourriez mettre en œuvre la boucle, par exemple en appelant le télécharger pour le prochain dans le rappel d'achèvement de l'image précédente
  • Je voulais quelque chose de plus réutilisables que pourrait prendre un fichier comme entrée et le retour de la chaîne encodée en base64 de sortie mais il semble être impossible... Merci pour votre aide!
InformationsquelleAutor Laila | 2013-06-12