diff --git a/exif_orientation.module b/exif_orientation.module index 4a6f76c..657f808 100644 --- a/exif_orientation.module +++ b/exif_orientation.module @@ -56,8 +56,16 @@ function exif_orientation_validate_image_rotation(FileInterface $file) { * @link: http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ */ function _exif_orientation_rotate($file) { - if (function_exists('exif_read_data') && $file->getMimeType() == 'image/jpeg') { - $file_exif = @exif_read_data(\Drupal::service('file_system')->realpath($file->getFileUri())); + $mime_types = ['image/jpeg', 'image/png']; + + if (function_exists('exif_read_data') && in_array($file->getMimeType(), $mime_types)) { + $realPath = \Drupal::service('file_system')->realpath($file->getFileUri()); + + if ($realPath === FALSE) { + return; + } + + $file_exif = @exif_read_data($realPath); // Ensure that the Orientation key|value exists, otherwise leave. if (!is_array($file_exif) || !isset($file_exif['Orientation'])) {