我尝试使用以下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");
}