0

我有一个扩展,用户可以在其中将一些图像上传到他们的前端配置文件。图片上传和保存到用户配置文件工作正常,我使用以下代码 - 但是是否有一种简单的方法来添加标题、替代和描述?

感谢帮助!马丁

/** @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);
4

1 回答 1

0

....可以自己解决。只需将 setter 添加到模型并添加文本:

/**
 * Set alternative
 *
 * @param \xx\yy\Domain\Model\File $file
 */
public function setAlternative($alternative) {
    $this->alternative = $alternative;
}
和控制器:

$newFileReference->setAlternative('你的图片替代文本');

于 2016-11-19T15:55:48.647 回答