JSFiddle - React, Tailwind, and code Playground

by dekkard

HTML

<script src="https://rawgit.com/hMatoba/piexifjs/master/piexif.js"></script>
<input type="file" id="files" />

JavaScript

document.getElementById('files').addEventListener('change', handleFileSelect, false);


function handleFileSelect(evt) {
    var file = evt.target.files[0];

    var zeroth = {};
    var exif = {};
    var gps = {};
    zeroth[piexif.ImageIFD.Make] = "Make";
    zeroth[piexif.ImageIFD.XResolution] = [777, 1];
    zeroth[piexif.ImageIFD.YResolution] = [777, 1];
    zeroth[piexif.ImageIFD.Software] = "Piexifjs";
    exif[piexif.ExifIFD.DateTimeOriginal] = "2010:10:10 10:10:10";
    exif[piexif.ExifIFD.LensMake] = "LensMake";
    exif[piexif.ExifIFD.Sharpness] = 777;
    exif[piexif.ExifIFD.LensSpecification] = [[1, 1], [1, 1], [1, 1], [1, 1]];
    gps[piexif.GPSIFD.GPSVersionID] = [7, 7, 7, 7];
    gps[piexif.GPSIFD.GPSDateStamp] = "1999:99:99 99:99:99";
    var exifObj = {"0th":zeroth, "Exif":exif, "GPS":gps};
    var exifStr = piexif.dump(exifObj);

    var reader = new FileReader();
    reader.onload = function(e) {
      var exifObj = piexif.load(e.target.result);
      console.log(exifObj);
      /* for (var ifd in exifObj) {
        if (ifd == "thumbnail") {
          continue;
        }
        console.log("-" + ifd);
        for (var tag in exifObj[ifd]) {
          console.log("  " + piexif.TAGS[ifd][tag]["name"] + ":" + exifObj[ifd][tag]);
        }
      } */

/*         var inserted = piexif.insert(exifStr, e.target.result);
        
        var image = new Image();
        image.src = inserted;
        image.width = 200;
        var el = $("<div></div>").append(image);
        $("#resized").prepend(el); */

    };
    reader.readAsDataURL(file);
}