eZ\Publish\Core\FieldType\BinaryBase\BinaryBaseStorage::storeFieldData PHP Method

storeFieldData() public method

public storeFieldData ( eZ\Publish\SPI\Persistence\Content\VersionInfo $versionInfo, eZ\Publish\SPI\Persistence\Content\Field $field, array $context )
$versionInfo eZ\Publish\SPI\Persistence\Content\VersionInfo
$field eZ\Publish\SPI\Persistence\Content\Field
$context array
    public function storeFieldData(VersionInfo $versionInfo, Field $field, array $context)
    {
        if ($field->value->externalData === null) {
            $this->deleteFieldData($versionInfo, [$field->id], $context);
            return false;
        }
        if (isset($field->value->externalData['inputUri'])) {
            $field->value->externalData['mimeType'] = $this->mimeTypeDetector->getFromPath($field->value->externalData['inputUri']);
            $createStruct = $this->IOService->newBinaryCreateStructFromLocalFile($field->value->externalData['inputUri']);
            $createStruct->id = $this->pathGenerator->getStoragePathForField($field, $versionInfo);
            $binaryFile = $this->IOService->createBinaryFile($createStruct);
            $field->value->externalData['id'] = $binaryFile->id;
            $field->value->externalData['mimeType'] = $createStruct->mimeType;
            $field->value->externalData['uri'] = isset($this->downloadUrlGenerator) ? $this->downloadUrlGenerator->getStoragePathForField($field, $versionInfo) : $binaryFile->uri;
        }
        $this->removeOldFile($field->id, $versionInfo->versionNo, $context);
        $this->getGateway($context)->storeFileReference($versionInfo, $field);
    }