I have a PHP file input and some javascript that displays a small preview of the image that has been selected for upload. My question is how do I read the EXIF data and display (in preview) the image in its correct orientation?
PHP file input
<div id="dropzone">
        <div>Add Photo</div>
        <?php echo elgg_view('input/file', array(
              'name' => 'upload',
              'accept' => 'image/jpeg, image/JPG, image/png',
        )); ?>
</div>
Javascript
/* Find any element which has a 'data-onload' function and load that to simulate an onload. */ $('[data-onload]').each(function(){ eval($(this).data('onload')); });    
$(function() {
  $('#dropzone').on('dragover', function() {
    $(this).addClass('hover');
  });
  $('#dropzone').on('dragleave', function() {
    $(this).removeClass('hover');
  });
  $('#dropzone input').on('change', function(e) {
    var file = this.files[0];
    $('#dropzone').removeClass('hover');
    if (this.accept && $.inArray(file.type, this.accept.split(/, ?/)) == -1) {
      return alert('File type not allowed.');
    }
    $('#dropzone').addClass('dropped');
    $('#dropzone img').remove();
    if ((/^image\/(gif|png|jpeg|JPG)$/i).test(file.type)) {
      var reader = new FileReader(file);
      reader.readAsDataURL(file);
      reader.onload = function(e) {      
        var data = e.target.result,
            $img = $('<img />').attr('src', data).fadeIn();
        $('#dropzone div').html($img);
      };
    } else {
      var ext = file.name.split('.').pop();
      $('#dropzone div').html(ext);
    }
  });
});
 
     
    