Neos.Form:FileUpload

Hallo

ich habe eine Form-Fileupload funktion eingebaut. Es funktioniert einwandfrei. Jetzt möchte diese File bei finishers über swiftmailer per email senden.
ich habe das gefunden:

attachments:
- resource: ‘resource://Some.Vendor:Package/Some/Path/To/A/File’
- formElement: ‘some-upload-field’
Kann jemand mir sagen, wo diese hochgeladenen File default mässig sich befinden?

vielen Dank!

Hi,

standardmäßig liegen hochgeladene Daten im tmp Verzeichnis vom Server (um deine Frage zu beantworten).

Ich glaube bei resource gibst du einen festen Anhang mit. Bei formElement übergibst du den Namen / Property des File-Upload Feldes und er holt sich die Daten selbstständig.

Siehe: https://github.com/neos/form/blob/master/Classes/Finishers/EmailFinisher.php#L197

vieleb Dank für deine Antwort. Kann man bei Form Definition:- type: 'Neos.Form:FileUpload' identifier: upload label: 'File hochladen' properties: placeholder: 'File hochladen' allowedExtensions: ['pdf'] elementClassAttribute: 'lang form-control' defaultValue: ''
den UploadPfahl eingeben? oder woanders?

Leider ist in tmp Ordner kein File und wird mir auch kein Error angezeigt. Deswegen dachte ich man kann den Upload-Pfad eingben?

Ich denke nicht dass das an dieser Stelle möglich ist. Das ist eine PHP-Einstellung. Siehe:
http://php.net/manual/de/ini.core.php#ini.upload-tmp-dir

Hi Ja

ich habe in der PHP.ini geschaut, der upload_tmp_dir ist tmp.
http://p398722.mittwaldserver.info/index.php
Leider ist kein File in tmp und es wird mir kein Error von Fluid/NEos/Flow angezeigt.
Hast du eine Idee wie ich an der Stelle debugen kann?

Guten Morgen,

die Datei existiert dort nicht lange. Wenn der Request vorbei ist ist die Datei auch wieder weg. Das heißt: nach Absenden des Formulars muss die Datei via PHP verarbeitet/gespeichert werden. Sobald das Script durchgelaufen ist wird die Datei danach automatisch gelöscht und wenn Du sie danach nicht verarbeitet oder an einem neuen Ort gespeichert hast, ist sie weg.

Ja, mit Xdebug. Ich würde dann in der EmailFinisher Klasse in der Funktion addAttachments einsteigen und hier schauen was passiert.

Buenos Dias und vielen Dank!!!
Die Methode addAttachments von EmailFinisher Klasse funktioniert einwandfrei, wenn ich den Pfad in der Form-yaml eingebe.
attachments:
- resource: ‘resource://Some.Vendor:Package/Some/Path/To/A/File’
- formElement: 'some-upload-field’
Das Problem ist, wie kann ich den Pfeil von tmp wo anders speischern?

Du meinst die Datei die gespeichert wird?

Na nehmen wir mal an du arbeitest mit statischem HTML und hast dein eigenes PHP-Script (also kein Neos, etc.). Dann musst du dich in deinem Script selber darum kümmern dass die Datei irgendwo gespeichert wird. Beispiele dazu solltest du via Google finden.

Aber Neos bzw. genauer gesagt der Email-Finisher sollte sich selber darum kümmern und dir die Arbeit abnehmen. Daher verstehe ich nicht wieso du die Datei woanders speichern willst. Wenn du sie außerhalb vom Email-Finisher noch weiter verwenden möchtest, dann musst du die entsprechende Funktion erweitern. Oder möchtest du einfach nur dass die temporären Dateien nicht in /tmp liegen? Dann musst du einfach nur die entsprechende PHP Option anpassen.

Danke. Mein Problem ist. ich weiss nicht wie ich die Datei aus dem tmp Verzeichniss auslesen kann.
Die Ausgabe von print_r($_FILES) in der Email-Finischer ist folgende:`Array
(
[–bewerber-form] => Array
(
[name] => Array
(
[upload] => GestaltungKarrieseite.pdf
)

        [type] => Array
            (
                [upload] => application/pdf
            )

        [tmp_name] => Array
            (
                [upload] => /tmp/phpQJobMY
            )

        [error] => Array
            (
                [upload] => 0
            )

        [size] => Array
            (
                [upload] => 272067
            )

    )

)`

ich versuche den Pfad zum tmp einzugeben$mail->attach(\Swift_Attachment::fromPath(getcwd()./tmp/phpQJobMY))

bekomme die Fehlermeldung
Unable to open file for reading. Also ich weiss nicht ob es Zugriff rechte Probleme sind?