140 votes

Accès aux données de rotation JPEG EXIF en JavaScript côté client

J'aimerais faire pivoter les photos en fonction de leur rotation d'origine, telle que définie par l'appareil photo dans les données d'image JPEG EXIF. L'astuce est que tout cela doit se produire dans le navigateur, en utilisant JavaScript et <canvas> .

Comment JavaScript pourrait-il accéder à JPEG, un objet API de fichier local, des données <img> locales ou distantes <img> , EXIF pour lire les informations de rotation ?

Les réponses côté serveur ne sont pas correctes ; Je recherche une solution côté client.

23voto

pimvdb Points 66332

Vous pouvez utiliser la bibliothèque exif-js en combinaison avec l'API de fichier HTML5 : http://jsfiddle.net/xQnMd/1/ .

 $("input").change(function() {
    var file = this.files[0];  // file
        fr   = new FileReader; // to read file contents

    fr.onloadend = function() {
        // get EXIF data
        var exif = EXIF.readFromBinaryFile(new BinaryFile(this.result));

        // alert a value
        alert(exif.Make);
    };

    fr.readAsBinaryString(file); // read the file
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X