diff --git a/pdf_preview_image.module b/pdf_preview_image.module
index 889c85e..efab7c5 100644
--- a/pdf_preview_image.module
+++ b/pdf_preview_image.module
@@ -12,6 +12,7 @@ use Spatie\PdfToImage\Pdf;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Field\FieldConfigInterface;
 use \Drupal\file\FileInterface;
+use Drupal\Core\File\FileSystemInterface;
 
 /**
  * Implements hook_entity_presave().
@@ -36,6 +37,12 @@ function pdf_preview_image_entity_presave(EntityInterface $entity) {
             $img_preview_filename = str_replace('.pdf', '', $pdf_filename) . '.jpg';
             $token_service = \Drupal::token();
             $directory = $token_service->replace($target_field_settings['file_directory']);
+            if (!empty($directory)){
+              $fileSystem = \Drupal::service('file_system');
+              $dirname = $target_field_settings['uri_scheme'] . '://' . $directory;
+              $fileSystem->prepareDirectory($dirname, FileSystemInterface::CREATE_DIRECTORY);
+            }
+
             $img_preview_path = $target_field_settings['uri_scheme'] . '://' . $directory . '/' . $img_preview_filename;
             $img_preview_uid = $file->get('uid')->getValue();
 
