PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : upload mehrerer Dateien möglich?



mamue
11-11-2006, 15:58
Hallo,
ist es eigentlich möglich, mehrere Dateien in einem Rutsch hochzuladen? Ich meine nicht etwa durch mehrer <input type="file"..>, sondern durch ein Eingabefeld. Es gibt Applets, die so etwas ermöglichen, aber geht das auch ohne dem?

Danke,
mamue

undefined
11-11-2006, 16:09
Ja Simuliere eine Array Eingabe

<input type="file" name="dateien[]" ..>

mamue
11-11-2006, 18:05
Das geht ganz so einfach scheinbar nicht.


<html>
<head><title>Test Formular</title></head>
<body>
<form method="post" action="http://Mein-servlet-host:8080/upload/FileUpload" ENCTYPE="multipart/form-data">
<input type="file" name="dateien[]">
<input type="submit" name="upload" value="ladeHoch" />
</form>
</body>
</html>

Das Auswahlfenster des Browsers (FF 2.0) lässt mich nur eine Datei auswählen. Ich hatte gehofft, mehrere (Strg-leftMouse) auswählen zu können, um die in einem Rutsch hochladen zu können. Natürlich könnte ich auch anbieten, ein ZIP-File mit allen Dateien hochladen zu dürfen, aber das wäre nur eine Notlösung.

Danke,
mamue

nEox
12-11-2006, 12:40
Hallo Mamue,

ja das ist so ein Problem mit dem Hochladen. Eine einfache Möglichkeit kenne ich nicht, ein bisschen Aufwand hat man bei den Methoden die ich kenne immer:

Flash8
Upload über den Flashplayer, in neueren Versionen kann dieser auf Dateien zugreifen. Auswählen muss man afaik immer noch jede Datei einzeln. Hier ein Beispiel: http://www.flash-db.com/Tutorials/upload/

AJAX Upload
So ähnlich wie im vorherigen Post beschrieben, werden hier per Javascript mehrere Eingabefelder generiert. Beispiel: http://www.bubbleshare.com/
In Google findet man zu diesem Thema auch einiges.

WebDAV
Eigentlich wäre WebDAV (http://de.wikipedia.org/wiki/Webdav) super für multiplen Dateiupload geeignet. Per WebDAV kann man einfach Dateien in den WebDAV "Online-Ordner" schieben, als wäre es ein Ordner auf der eigenen Festplatte. Um sich mit dem "Online-Ordner" zu verbinden benötigt man einen WebDAV-Client, der allerdings in fast allen Betriebsystemen bzw Filebrowsern bereits vorhanden ist.

Könnte man den Online-Ordner besser in eine Webseite einbinden, wäre die Lösung perfekt. Leider kann man afaik nur im Internet Explorer einen WebDAV-Ordner direkt in die Webseite einbinden. Bei Firefox gibt es ein Addon, das bei mir allerdings nicht funktioniert.

Als Alternative kannst du den WebDAV-Zugang zusätzlich anbieten (ohne Integration in die Webseite). Leider ist das dann längst nicht so benutzerfreundlich.

Tipp: HTTP_WebDAV_Server (http://pear.php.net/package/HTTP_WebDAV_Server) bei PEAR ist ein kompletter WebDAV-Server in PHP geschrieben. Somit hast du die volle Kontrolle und kannst sogar PHP-Sessions weiterverwenden und dir somit den Login sparen.

Grüße,
nEox

mamue
12-11-2006, 13:49
Hallo Mamue,

ja das ist so ein Problem mit dem Hochladen.

Flash8

AJAX Upload

WebDAV
Grüße,
nEox
OK, ich dachte, es sei einfach möglich und ich sei nur zu blöd, es zu kapieren.
Auf PHP möchte ich verzichten, der Server ist öffentlich, ich verwende bereits Servlets und möchte die Sicherheitsprobleme überschaubar halten. Aus dem gleichen Grund verzichte ich lieber einstweilen auf WebDAV.
Flash wäre eine Alternative, vielleicht zusätzlich zum einfachen Formular, oder vielleicht auch ein Applet - ich habe da bei OpenCMS ein upload-Applet gesehen, mit dem das geht. Nur hat halt nicht jeder Java oder Flash auf seinem PC. AJAX ist mir prinzipiell sympathisch, wenn es da noch eine Lösung mit Drag-n-Drop gäbe, wäre das perfekt.
Ich werde wohl erst einmal bei der einfachen Lösung mit einem Formularfeld bleiben, vielleicht mit der Unterstützung von zip-Archiven und später Flash hinzunehmen.

Danke,
mamue