Как исправить поворот изображения при предварительном просмотре с помощью Exif

#javascript #exif #image-rotation #exif-js

#javascript #exif #вращение изображения #exif-js

Вопрос:

Некоторые из моих изображений вращаются при предварительном просмотре (после того, как пользователь выбирает их). Я пытался добавить функцию Exif, но она все еще вращает фотографии. Я считаю, что мне не хватает чего-то небольшого. Я что-то упустил в своем коде или, может быть, библиотеку, которую мне нужно добавить?

 // UPLOAD IMAGE PREVIEW
function readURL(input) {
  if (input.files amp;amp; input.files[0]) {
    var reader = new FileReader();

    reader.onload = function(e) {
      var img = $('#_nc_image_default')
      img.attr('src', e.target.result);
      fixExifOrientation(img)

    };

    reader.readAsDataURL(input.files[0]);
  }
}

function fixExifOrientation($img) {
  $img.on('load', function() {
    EXIF.getData($img[0], function() {
      console.log('Exif=', EXIF.getTag(this, "Orientation"));
      switch (parseInt(EXIF.getTag(this, "Orientation"))) {
        case 2:
          $img.addClass('flip');
          break;
        case 3:
          $img.addClass('rotate-180');
          break;
        case 4:
          $img.addClass('flip-and-rotate-180');
          break;
        case 5:
          $img.addClass('flip-and-rotate-270');
          break;
        case 6:
          $img.addClass('rotate-90');
          break;
        case 7:
          $img.addClass('flip-and-rotate-90');
          break;
        case 8:
          $img.addClass('rotate-270');
          break;
      }
    });
  });
}
 

Комментарии:

1. похоже, что, возможно, изображение загружается еще до вызова exif. Я попытался переместить функцию exif, но она по-прежнему не исправляет поворот.