Hallo zusammen,
ich stoße gerade auf folgendes Problem:
Ich habe in einem meiner Formulare ein UploadFormField hinzugefügt. Soweit so gut. Wenn ich jetzt Dateien darin hochlade werden diese auch erfolgreich verarbeitet, also im entsprechenden Ordner gespeichert und in der Datenbank angelegt.
Wenn ich jetzt die Seite bearbeite und eine Datei lösche, soll sie laut Dokumentation im parameters-Array erscheinen:
QuoteAlso it registers the removed files as an array of wcf\system\file\upload\UploadFile\UploadFile into the $parameters array directly using the object property with the suffix _removedFiles
as the array key.
In der entsprechenden Action-Klasse wollte ich nun schauen, wie das Objekt genau aussieht, wenn eine Datei gelöscht wird, allerdings ist das entsprechende Array in den Parametern leer.
Gleichzeitig taucht die Datei aber auch nicht in den files im Parameter-Array auf.
Die Dateien lege ich beim erstellen in den Ordner WCF_DIR . 'media/test-files/' . $filename. Den Filename speichere ich in der Datenbank.
Die DatabaseObject-Klasse habe ich um die Funktion public function getTestAttachmentUploadFileLocations() erweitert, die hier einfach die entsprechenden Filenames aus der Datenbank ausliest und mit dem Ordner-Präfix WCF_DIR . 'media/test-files/' versieht. In Anbetracht dessen, dass mir die Dateien auch richtig angezeigt werden, wenn ich die "Bearbeiten"-Seite lade, vermute ich aber mal, dass das alles soweit auch funktioniert.
Das FormField wurde wie folgt gebuildet:
UploadFormField::create("testAttachment")
->maximum(5)
->maximumFilesize(20000000)
->objectProperty("testAttachment")
Folgende Antwort (gekürzter, wichtiger Teil der Ausgabe) erhalte ich bei einem wcfDebug auf die Parameter im update meiner Action-Klasse:
[testAttachment] => Array
(
[0] => wcf\system\file\upload\UploadFile Object
(
[location:wcf\system\file\upload\UploadFile:private] => /opt/bw-dev/media/test-files/DJI_0066-HDR.jpg
[imageLink:wcf\system\file\upload\UploadFile:private] =>
[detectSvgAsImage:wcf\system\file\upload\UploadFile:private] =>
[processed:wcf\system\file\upload\UploadFile:private] => 1
[filename:wcf\system\file\upload\UploadFile:private] => DJI_0066-HDR.jpg
[isImage:wcf\system\file\upload\UploadFile:private] => 1
[viewableImage] => 1
[filesize] => 1008144
[uniqueId:wcf\system\file\upload\UploadFile:private] => 61c5ec96a7f8daa4210a876627ecbe77c45be84b
)
)
[testAttachment_removedFiles] => Array
(
)
Display More
Neben der DJI_0066-HDR.jpg existiert im Formular, als auch im Ordner als auch in der DB noch die Datei DJI_0074-HDR.jpg für das entsprechende Objekt. Lösche ich die Datei nicht im Formular steht sie auch entsprechend in der Ausgabe:
[testAttachment] => Array
(
[0] => wcf\system\file\upload\UploadFile Object
(
[location:wcf\system\file\upload\UploadFile:private] => /opt/bw-dev/media/test-files/DJI_0066-HDR.jpg
[imageLink:wcf\system\file\upload\UploadFile:private] =>
[detectSvgAsImage:wcf\system\file\upload\UploadFile:private] =>
[processed:wcf\system\file\upload\UploadFile:private] => 1
[filename:wcf\system\file\upload\UploadFile:private] => DJI_0066-HDR.jpg
[isImage:wcf\system\file\upload\UploadFile:private] => 1
[viewableImage] => 1
[filesize] => 1008144
[uniqueId:wcf\system\file\upload\UploadFile:private] => 12961851a63d286200271e1f05089135ccac81c0
)
[1] => wcf\system\file\upload\UploadFile Object
(
[location:wcf\system\file\upload\UploadFile:private] => /opt/bw-dev/media/test-files/DJI_0074-HDR.jpg
[imageLink:wcf\system\file\upload\UploadFile:private] =>
[detectSvgAsImage:wcf\system\file\upload\UploadFile:private] =>
[processed:wcf\system\file\upload\UploadFile:private] => 1
[filename:wcf\system\file\upload\UploadFile:private] => DJI_0074-HDR.jpg
[isImage:wcf\system\file\upload\UploadFile:private] => 1
[viewableImage] => 1
[filesize] => 921920
[uniqueId:wcf\system\file\upload\UploadFile:private] => da3580b329089ba11b5d085fc60d4127564fb663
)
)
[testAttachment_removedFiles] => Array
(
)
Display More
Daher wäre jetzt meine abschließende Frage, ob ich noch etwas tun muss, sodass meine gelöschten Dateien in testAttachment_removedFiles erscheinen.
Gruß
ilou