TYPO3 6.2: ¿cómo crear FileReference en frontend (FE)?

Tengo la hipotéticaZoo extensión en la que heAnimal modelo conphoto campo y plugin FrontEnd (FE) con acciones CRUD típicas.photo campo es típico de FALFileReference y funciona perfectamente en backend (BE) con la configuración común TCA IRRE.

Puedo cargar correctamente el archivo al almacenamiento, es visible en elLista de archivos módulo, y puedo usarlo en BE durante mi edición de Animal, de todos modos no puedo crearFileReference dentro de mi plugin FE.

Mi enfoque actual se ve así:

/**
 * @param \Zoo\Zoo\Domain\Model\Animal $animal
 */
public function updateAction(\Zoo\Zoo\Domain\Model\Animal $animal) {

    // It reads proper uploaded `photo` from form's $_FILES
    $file = $this->getFromFILES('tx_zoo_animal', 'photo');

    if ($file && is_array($file) && $file['error'] == 0) {

        /** @type  $storageRepository \TYPO3\CMS\Core\Resource\StorageRepository */
        $storageRepository = GeneralUtility::makeInstance('\TYPO3\CMS\Core\Resource\StorageRepository');
        $storage = $storageRepository->findByUid(5); // TODO: make target storage configurable

        // This adds uploaded file to the storage perfectly
        $fileObject = $storage->addFile($file['tmp_name'], $storage->getRootLevelFolder(), $file['name']);

        // Here I stuck... below line doesn't work (throws Exception no. 1 :/)
        // It's 'cause $fileObject is type of FileInterface and FileReference is required
        $animal->addPhoto($fileObject);

    }

    $this->animalRepository->update($animal);
    $this->redirect('list');
}

de todos modos, intentar crear una referencia por esta línea arroja una excepción:

$animal->addPhoto($fileObject);

¿Cómo puedo resolver esto?

Comprobado:DataHandler acercarse a, aproximarse (enlazar) tampoco funcionará, ya que no está disponible para usuarios de FE.

TL; DR

Cómo agregarFileReference aAnimal modelo del registro FAL existente (recién creado)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta