Typo3: How to upload a file and create a link to a file?

I will try to upload the file (or several files) to FE. This works like my current code. But how can I get a link to the file of this file now?

/** * * @var array $fileData * @var integer $feUserId * @return \TYPO3\CMS\Extbase\Domain\Model\FileReference */ private function uploadFile($fileData, $feUserId) { $storageRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\StorageRepository'); $storage = $storageRepository->findByUid(1); # Fileadmin = 1 $saveFolder = $storage->getFolder($this->settings['uploadFolder']); // Datei speichern $fileObject = $storage->addFile($fileData['tmp_name'], $saveFolder, $feUserId.'_'.$fileData['name']); // Dateiobjekt $repositoryFileObject = $storage->getFile($fileObject->getIdentifier()); die(\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($repositoryFileObject)); #$newFileReference = $this->objectManager->get('TYPO3\CMS\Extbase\Domain\Model\FileReference'); #$newFileReference->setOriginalResource($repositoryFileObject); return $newFileReference; } 
+3
typo3 extbase
source share
2 answers

There should be something like "setFileReference" at present, but I cannot find it in the API http://typo3.org/api/typo3cms/class_t_y_p_o3_1_1_c_m_s_1_1_core_1_1_resource_1_1_file_reference.html

Well, you can use the following script as a workaround that uses the datamap process to create file links.

 $sys_file_uid = $file->getUid(); $tt_content_uid = 42; $tt_content_pid = 1337; // Do not directly insert a record into sys_file_reference, as this bypasses all sanity checks and automatic updates done! $data = array(); $data['sys_file_reference']['NEW' . $sys_file_uid] = array( 'uid_local' => $sys_file_uid, 'table_local' => 'sys_file', 'uid_foreign' => $tt_content_uid, 'tablenames' => 'tt_content', 'fieldname' => 'image', 'pid' => $tt_content_pid, ); $data['tt_content'][$tt_content_uid] = array('image' => 'NEW' . $sys_file_uid); $tce = t3lib_div::makeInstance('t3lib_TCEmain'); // create TCE instance $tce->start($data, array()); $tce->process_datamap(); if ($tce->errorLog) { // Error - Reference not created // t3lib_utility_Debug::viewArray($tce->errorLog); } else { // Success - Reference created } 
+2
source share

after I hit Google for a long time, I realized an article that sounds good to me. Gonna check it out tomorrow: http://insight.helhum.io/post/85015526410/file-upload-using-extbase-and-fal-in-typo3-6-2

(just in case someone else needs this before I can check it out)

0
source share

All Articles