From f8f34be243afe6d8e1ce0e0e1997169365b61755 Mon Sep 17 00:00:00 2001 From: Alex Pott Date: Wed, 8 Jun 2016 10:22:56 +0100 Subject: [PATCH] Issue #2725425 by mfb: Incorrect mime type on generated images --- core/modules/image/src/Plugin/Field/FieldType/ImageItem.php | 2 +- core/modules/image/tests/src/Kernel/ImageItemTest.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php b/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php index fb6559326bd2..c83e143aa4ca 100644 --- a/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php +++ b/core/modules/image/src/Plugin/Field/FieldType/ImageItem.php @@ -343,7 +343,7 @@ class ImageItem extends FileItem { $image = File::create(); $image->setFileUri($path); $image->setOwnerId(\Drupal::currentUser()->id()); - $image->setMimeType('image/' . pathinfo($path, PATHINFO_EXTENSION)); + $image->setMimeType(\Drupal::service('file.mime_type.guesser')->guess($path)); $image->setFileName(drupal_basename($path)); $destination_dir = static::doGetUploadLocation($settings); file_prepare_directory($destination_dir, FILE_CREATE_DIRECTORY); diff --git a/core/modules/image/tests/src/Kernel/ImageItemTest.php b/core/modules/image/tests/src/Kernel/ImageItemTest.php index 1c63a2227d7e..dea453469f8e 100644 --- a/core/modules/image/tests/src/Kernel/ImageItemTest.php +++ b/core/modules/image/tests/src/Kernel/ImageItemTest.php @@ -53,6 +53,9 @@ class ImageItemTest extends FieldKernelTestBase { 'entity_type' => 'entity_test', 'field_name' => 'image_test', 'bundle' => 'entity_test', + 'settings' => [ + 'file_extensions' => 'jpg', + ], ])->save(); file_unmanaged_copy(\Drupal::root() . '/core/misc/druplicon.png', 'public://example.jpg'); $this->image = File::create([ @@ -123,6 +126,7 @@ class ImageItemTest extends FieldKernelTestBase { $entity = EntityTest::create(); $entity->image_test->generateSampleItems(); $this->entityValidateAndSave($entity); + $this->assertEqual($entity->image_test->entity->get('filemime')->value, 'image/jpeg'); } }