[TYPO3-german] FAL Upload im Frontend?

Hendrik Reimers (KERN23.de) kontakt at kern23.de
Tue Jul 29 19:50:17 CEST 2014


soweit bin ich schon mal... aber bekomme keine fileReference hin... kann 
mir jemand helfen wie ich das noch hinbekomme?

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





danke schonmal...

Am 29.07.2014 17:25, schrieb Hendrik Reimers (KERN23.de):
> Danke, aber leider benötige ich es mit FAL, da ich im TCA eine
> FileReference habe.
>
> Am 28.07.2014 16:23, schrieb Sascha:
>> Habe einmal folgende Lösung gefunden: Nutzt aber kein FAL!
>>
>> in deinem Domain model wo das Bild zugeordnet sein soll:
>>
>> const UPLOAD_TARGET = 'fileadmin/userimages/';
>>
>> /**
>> * Sets the userimage
>> *
>> * @param \array $userimage
>> * @return void
>> */
>> public function setUserimage($userimage) {
>>      $date = new \DateTime();
>>
>>      $basicFileFunctions =
>> \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Core\Utility\File\BasicFileUtility');
>>
>>
>>      $types = Array('image/png' => 'png', 'image/jpeg' => 'jpg',
>> 'image/jpeg' => 'jpeg', 'image/gif' => 'gif');
>>
>>      $fileName = $basicFileFunctions->getUniqueName(
>>
>> $basicFileFunctions->cleanFileName($date->getTimestamp().'_'.$userimage['name']),
>>
>>
>>
>> \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName(self::UPLOAD_TARGET)
>>
>>
>>      );
>>      if ($userimage['size'] <= 0) {
>>          $error = 'Upload fehlgeschlagen';
>>      } elseif( !array_key_exists($userimage['type'], $types) ) {
>>          $error = 'Das Bild hat ein ungültiges Format';
>>      } else {
>>          if ( \TYPO3\CMS\Core\Utility\GeneralUtility::upload_copy_move(
>> $userimage['tmp_name'], $fileName) ) {
>>              $this->userimage = basename($fileName);
>>          }
>>      }
>>
>> }
>>
>>
>> Dann kannst du im Formular das ganz einfach hochladen mit
>> <f:form.upload property="daten.userimage" />
>>
>>
>> Ist sicher nicht perfekt. Zum Beispiel zum error reporting etc.
>> Aber vielleicht hilft es. Denke man kann das ganze sicher noch umbauen
>> das es auch mit FAL funktioniert.
>



More information about the TYPO3-german mailing list