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.


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an