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?
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.
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?
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?
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?
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
)