Exif返回值为-6

时间:2019-04-26 01:22:51

标签: javascript exif exif-js

我尝试使用以下JavaScript检查预览时图像的旋转。我的某些图像在预览时被旋转,因此我尝试使用exif库来处理旋转。

在下面的代码中,console.log('Exif =',EXIF.getTag(this,“ Orientation”)))为-6。然后我的其他console.log都没有转储。我的控制台没有出现任何错误,但似乎该功能刚刚退出。有人可以帮忙吗?即使我将其中一个case语句更改为-6,该case语句仍然不会被调用。有什么想法吗?

// UPLOAD IMAGE PREVIEW
function readURL(input) {
console.log("aaaa");
    if (input.files && input.files[0]) {
        var reader = new FileReader();
 console.log("here544");
        reader.onload = function (e) {
            var img = $('#_nc_image_default')
            fixExifOrientation(img)
            console.log("here5");
            img.attr('src', e.target.result);


        };

        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;
                   default:
                    console.log("here");
                    break;

            }
            console.log("here2");
            $img.addClass('flip-and-rotate-180');
        });
        console.log("here3");
    });
    console.log("here4");
}

0 个答案:

没有答案