Tom: Upload-Dateien über mehrere Requests zwischenspeichern

Beitrag lesen

Hello,

zuerst wollte ich es so machen, dass ich ein Ordner auswähle. Nach Recherchen fand ich heraus, dass das nicht geht, also hab ich ein Mehrfachupload gemacht. Das heisst ich geb anfangs die Anzahl der hochzuladenden Dateien aus und wähle sie einzeln aus.

Wenn ich aber nun merke, dass die Anzahl der Dateien nicht stimmt und möchte noch eins hinzufügen. Kann ich es irgendwie machen, dass die ausgewählten Dateien gespeichert werden?

Jein, Du kannst sie nicht ausgewählt lassen im <input>-Element vom Type File-Upload.
Das ist aus den Browsern schon seit IE > 3.0 (Bei den anderen weiß ich die Version nicht) herausoperiert worden, weil sonst jedes angeforderte Dokument in der Lage wäre, Deinen Rechner auszufragen. JavaScript könnte  mit der submit-Methode dazu missbraucht werden.

Das File-Upload-Feld lässt sich also nur manuell füllen.

Du kannst aber auf dem Server eine Session anlegen, in der Du die hochgeladenen Dateien speicherst.
Solange sie nicht zu groß werden (Speicherlimit für das Script, da die Session ebenfalls ins Script-Memory _geladen_ wird), stehen sie dann also zur Verfügung.

Den Namen kannst Du im nächsten Form anzeigen mit einer Checkbox "April, April, doch nicht permanent speichern". Dann könntest Du jedes Mal eine Datei dazu hochladen.

Eigentlich wäre es besser, die Files außerhalb der Session abzulegen, damit das Script nicht damit belastet wird. Aber ich habe noch nicht ausprobiert, wie man diese dann automatisiert wieder entfernen kann, wenn man sie nicht mehr benötigt (der Client einfach nicht wiedergekommen ist), ohne einen zusätzlichen Aufräumdienst zu installieren.

So hat z.B. PHP bereits einen für die Session-Dateien, den "Garbage-Collector", der bei neueren Installationen (z.B. auf Debian) auch mit einem Cronjob läuft und daher recht zuverlässig aufräumt.

Ich habe aber schon eine Idee, mal sehen, wann ich Zeit finde, sie auszuprobieren :-)

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de