diff --git a/src/Plugin/resource/DataProvider/DataProviderFile.php b/src/Plugin/resource/DataProvider/DataProviderFile.php index 4b6e05a3..f5a932c3 100644 --- a/src/Plugin/resource/DataProvider/DataProviderFile.php +++ b/src/Plugin/resource/DataProvider/DataProviderFile.php @@ -105,9 +105,14 @@ protected function fileSaveUpload($source, array $files) { $provider_options = $this->getOptions(); $options = $provider_options['options']; + + $subdir = empty($options['subdir']) ? NULL : $options['subdir'] . '/'; + $date_format = empty($options['date_format']) ? NULL : $options['date_format']; + $datedir = $options['datedir'] === TRUE && !is_null($date_format) ? date($date_format) . '/' : NULL; $validators = empty($options['validators']) ? NULL : $options['validators']; - $destination = $options['scheme'] . "://"; + $destination = $options['scheme'] . '://' . $subdir . $datedir; + file_prepare_directory($destination, FILE_CREATE_DIRECTORY); $replace = empty($options['replace']) ? NULL : $options['replace']; // Return cached objects without processing since the file will have