[Frage] Bilder upload in eigener Extension TYPO3-Version: -

  • Huaba93 Huaba93
    Typ im Roten Hemd
    0 x
    2 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2013, 08:52

    Hi Leute.

    Wie der Titel schon sagt, möchte ich gerne in meiner Extension es für fe_user ermöglichen, Bilder upzuloaden.
    Soweit ich weiß, unterstützt extbase das noch nicht.

    Also hab ich mal das Internet durchstöbert und wäre auf folgende Lösung gestoßen.
    Nur leider wirft die mir immer wieder errors die ich nicht nachvollziehen kann.

    z.B.: Required argument "newImage" is not set.

    [b]Hier der code im Php[/b]

    1. /**
    2. * action uploadImageAction
    3.   * @param \TYPO3\KundenverwaltungFinal\Domain\Model\Image $newImage
    4. * @return void
    5. */
    6. public function uploadImageAction(\TYPO3\KundenverwaltungFinal\Domain\Model\Image $newImage){
    7. //$newImage = $this->request->getArgument("newImage");
    8. echo "huh";
    9. var_dump($newImage);
    10. if ($_FILES['tx_kundenverwaltungfinal_Kundenverwaltungfinal']) {
    11. echo "hi";
    12. $basicFileFunctions = t3lib_div::makeInstance('t3lib_basicFileFunctions');
    13.  
    14. $fileName = $basicFileFunctions->getUniqueName (
    15. $_FILES['tx_kundenverwaltungfinal_Kundenverwaltungfinal']['name']['newImage']['image2'],
    16. t3lib_div::getFileAbsFileName('uploads/tx_kundenverwaltungfinal/')
    17. );
    18.  
    19. t3lib_div::upload_copy_move (
    20. $_FILES['tx_kundenverwaltungfinal_Kundenverwaltungfinal']['tmp_name']['newImage']['image2'],
    21. $fileName
    22. );
    23.  
    24. $newObject->setImage(basename($fileName));
    25. }
    26.  
    27. $this->imageRepository->add($newImage);
    28. $this->redirect('list');
    29. }

    Und hier das html

    1. <f:form action="uploadImage" enctype="multipart/form-data" name="newImage" object="{newImage}">
    2. <f:form.upload name="image2" id="image2" />
    3. <f:form.submit value="Create new" />
    4. </f:form>

    Ist das falsch so wie ich das mache?
    Oder hätte jemand ein Beispiel für mich, wie er das gelöst hat mit einem Imageupload?

    Wäre für Hilfe sehr dankbar.
    lg chris


  • 1
  • Huaba93 Huaba93
    Typ im Roten Hemd
    0 x
    2 Beiträge
    0 Hilfreiche Beiträge
    06. 09. 2013, 11:52

    Keine eine Idee :( ?

  • 9pm 9pm
    T3PO
    0 x
    23 Beiträge
    0 Hilfreiche Beiträge
    06. 09. 2013, 14:08

    Hey!

    Wenn ich nach deiner Fehlermeldung gehe die du angegeben hast, sieht es so aus als wird kein Argument übergeben und somit hat deine Funktion kein Objekt "newImage", welches ja benötigt wird. Hast du die Möglichkeit zu debuggen? Ich würde jedem empfehlen zu debuggen, denn so findet man meist schnell einen Fehler.

    Wenn das Formular aufgerufen wird, erstellst du dann auch ein neues, leeres Objekt "newImage"? Genauso wie es beim Extbase-Standard new/create gemacht wird.

    Gib deiner Form mal ein

    1. method="post"

    mit.

    Ansonsten würde ich dir noch raten dem Namespacing treu zu bleiben und auch "t3lib_div" auf

    1. \TYPO3\CMS\Core\Utility\GeneralUtility

    abzuändern. ;)

    VG

  • 1