Hallo,
Habe es jetzt endlich geschafft, dass Nutzer ein Profilbild hochladen können.
Dies wird bei Upload in einen Ordner geschoben, welcher von Resize images automatically überwacht wird, somit wird das Bild auch nicht so groß.
Die Datei wird bei Upload umbenannt in image.* es sind nur 5Bildtyspen erlaubt, somit sind im Ordner maximal 5 Dateien. Der Ordner ist fileadmin/Image/username
Soweit so gut.
Wenn ich jetzt im Backend von Typo3 mit den Nutzer anschaue, steht bei Image das richtige Bild.
Nur darunter: File is missing! uploads/pics//user0/image.gif
Wo der Doppelte / herkommt weiß ich, das ist aber nicht das Problem.
Wollte jetzt die Bilder in uploads schieben, leider komme ich aber nur an fileadmin, und da ist der Ordner "uploads" nicht drin. Wie kann ich Typo jetzt sagen, es soll doch bitte im Ordner fileadmin/Image/username nach den Bildern suchen?
Oder
Wie komme ich mit $storage = $storageRepository->findByUid('1'); //this is the fileadmin storage
An den Ordner uploads? Hab in der DB nachgesehen, es gibt dort nur die eine Uid, und die verweist auf fileadmin.
public function saveFormAction() { $user = $this->userRepository->findByUid($GLOBALS['TSFE']->fe_user->user['uid']); $newPDFPath = 'Image/'.$GLOBALS['TSFE']->fe_user->user['username'].'/'; if ($_FILES['tx_usercontrol_user_control_userhome']['name']['formimg'][0]) { $tmpName = $_FILES['tx_usercontrol_user_control_userhome']['name']['formimg'][0]; $tmpFile = $_FILES['tx_usercontrol_user_control_userhome']['tmp_name']['formimg'][0]; //$filetype = $_FILES['tx_usercontrol_user_control_userhome']['type']['formimg'][0]; $storageRepository = $this->objectManager->get('TYPO3\\CMS\\Core\\Resource\\StorageRepository'); $storage = $storageRepository->findByUid('1'); //this is the fileadmin storage //build the new storage folder if(!$storage->hasFolder($newPDFPath)){ $targetFolder = $storage->createFolder($newPDFPath); } else { $targetFolder = $storage->getFolder($newPDFPath); } $movedNewFile = $storage->addFile($tmpFile, $targetFolder, $newFileName, \TYPO3\CMS\Core\Resource\DuplicationBehavior::REPLACE); $user->setImage('/'.$GLOBALS['TSFE']->fe_user->user['username'].'/'.$newFileName); $this->userRepository->update($user); } }
Schon mal Danke für eine Antwort
Mfg
Power-Poler