Интерфейс загрузки TYPO3 FAL для добавления заголовка, альтернативы и описания

У меня есть расширение, в котором пользователь может загружать в интерфейс некоторые изображения в свой внешний профиль. Загрузка и сохранение изображения в профиль пользователя работает нормально, я использую следующий код, но есть ли простой способ добавить заголовок, альтернативу и описание?

Спасибо за помощь! Мартин

/** @var \TYPO3\CMS\Core\Resource\StorageRepository $storageRepository */
        $storageRepository = $this->objectManager->get('TYPO3\CMS\Core\Resource\StorageRepository');
        /** @var \TYPO3\CMS\Core\Resource\ResourceStorage $storage */
        $storage = $storageRepository->findByUid('1');

        #$storageRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\StorageRepository');
        #$storage           = $storageRepository->findByUid(1); # Fileadmin = 1
        #$saveFolder        = $storage->getFolder($this->settings['uploadFolder']);

        $fileData = array();
        $fileData['name'] = $_FILES['tx_key_datenwartung']['name']['logo'][0];
        $fileData['type'] = $_FILES['tx_key_datenwartung']['type']['logo'][0];
        $fileData['tmp_name'] = $_FILES['tx_key_datenwartung']['tmp_name']['logo'][0];
        $fileData['size'] = $_FILES['tx_key_datenwartung']['size']['logo'][0];


        // this will already handle the moving of the file to the storage:
        $newFileObject = $storage->addFile(
                $fileData['tmp_name'], $saveFolder, $userUid.'_'.$fileData['name']
        );
        $newFileObject = $storage->getFile($newFileObject->getIdentifier());
        #$newFile = $this->fileRepository->findByUid($newFileObject->getProperty('uid'));

        $newFile = $newFileObject->getUid();

        $persistenceManager = $this->objectManager->get('TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager');
        $persistenceManager->persistAll();

        /** @var \Vendor\Myextension\Domain\Model\FileReference $newFileReference */
        $newFileReference = $this->objectManager->get('Ven\Key\Domain\Model\FileReference');
        $newFileReference->setFile($newFile);


        $user->addLogo($newFileReference);

person matin    schedule 19.11.2016    source источник
comment
Примечание: $fileData['type'] — это данные, отправленные пользователем. Вы должны проверить содержимое файла относительно его MIME-типа и проверить, разрешено ли оно вообще. В противном случае исполняемые файлы (PHP, Perl и т. д.) могут быть загружены вашими пользователями для взлома системы.   -  person Oliver Hader    schedule 20.11.2016


Ответы (1)


.... мог бы решить это сам. просто добавьте сеттер в модель и добавьте тексты:

/**
 * Set alternative
 *
 * @param \xx\yy\Domain\Model\File $file
 */
public function setAlternative($alternative) {
    $this->alternative = $alternative;
}
and to controller:

$newFileReference->setAlternative('ваш альтернативный текст для изображения');

person matin    schedule 19.11.2016