You are here

public static function MediaHelper::prepareFileDestination in Varbase Media 8.7

Same name and namespace in other branches
  1. 8.5 modules/entity_browser_generic_embed/src/MediaHelper.php \Drupal\entity_browser_generic_embed\MediaHelper::prepareFileDestination()
  2. 8.6 modules/entity_browser_generic_embed/src/MediaHelper.php \Drupal\entity_browser_generic_embed\MediaHelper::prepareFileDestination()
  3. 9.0.x modules/entity_browser_generic_embed/src/MediaHelper.php \Drupal\entity_browser_generic_embed\MediaHelper::prepareFileDestination()

Prepares the destination directory for a file attached to a media entity.

Parameters

\Drupal\media\MediaInterface $entity: The media entity.

Return value

string The destination directory URI.

Throws

\RuntimeException If the destination directory is not writable.

1 call to MediaHelper::prepareFileDestination()
MediaHelper::useFile in modules/entity_browser_generic_embed/src/MediaHelper.php
Attaches a file entity to a media entity.

File

modules/entity_browser_generic_embed/src/MediaHelper.php, line 190

Class

MediaHelper
Provides helper methods for dealing with media entities.

Namespace

Drupal\entity_browser_generic_embed

Code

public static function prepareFileDestination(MediaInterface $entity) {

  /** @var \Drupal\file\Plugin\Field\FieldType\FileItem $item */
  $item = static::getSourceField($entity)
    ->first();
  $dir = $item
    ->getUploadLocation();
  $is_ready = \Drupal::service('file_system')
    ->prepareDirectory($dir, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
  if ($is_ready) {
    return $dir;
  }
  else {
    throw new \RuntimeException('Could not prepare ' . $dir . ' for writing');
  }
}