Как исправить поворот изображения при предпросмотре с помощью Exif - PullRequest
1 голос
/ 19 апреля 2019

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

// UPLOAD IMAGE PREVIEW
function readURL(input) {
  if (input.files && 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;
      }
    });
  });
}
...