Daniel: Alle Dateien eines Ordners auslesen

Hallo Forum,

(wie) kann ich mit JavaScript alle Dateien eines Ordners auf der Festplatte des Users auslesen bzw. hochladen? Der Ordner soll vom User angegeben werden können, danach sollen mit einem Klick alle Dateien dieses Ordners hochgeladen werden.

Hintergrund: Ich entwickle gerade eine CMS auf ASP-Basis mit integrierter Upload-Funktion. Um dem Kunden nun mehr Komfort zu bieten, will ich, dass er alternativ nur den Ordner angeben kann und dann automatisch alle Dateien aus diesem Ordner hochgeladen werden.

Falls es mit JavaScript nicht geht, bin ich auch froh über andere Tipps!

Gruss & danke,
Daniel

  1. Moin Moin !

    Mit Javascript sollst Du ja gerade keinen Zugriff auf den Computer des Besuchers / Users haben. Die "normale" Lösung für dieses Problem ist ein (signiertes) Java-Applet, das den Upload erledigt. Wenn Du einen sehr definierten Nutzerkreis (LAN/Intranet) hast, der ausschließlich den IE benutzt, kannst Du auch ein ActiveX-Control einsetzen. Mit "Hängen und Würgen" könnte auch eine Variation von http://aktuell.de.selfhtml.org/artikel/javascript/file-open/index.htm helfen - ohne Applet auch wieder nur browserabhänig.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Hallo und danke schonmal für die Antwort!

      Mit Javascript sollst Du ja gerade keinen Zugriff auf den Computer des Besuchers / Users haben.

      Ist mir eigentlich schon klar. Normalerweise würde ich sowas auch nicht brauchen. In einem CMS, wo ich den Benutzerkreis ja ganz genau kenne (und der mir auch vertraut), sieht es aber schon etwas anders aus. Ich stelle mir z.B. vor, dass ein Besucher einen News-Eintrag mit 10 Bildern verfassen will, die er in einem Ordner auf seiner Festplatte vorbereitet hat. Nun ist es doch mühsam, wenn er jede einzelne Datei mit einem Durchsuchen...-Button auswählen muss. Wäre doch schöner, wenn er einfach angeben könnte: C:\News-Bilder - und dann alle Fotos in diesem Ordner upgeloadet würden.

      Es muss auch nur mit IE 6 funktionieren (aus dem gleichen Grund). Mit Java kenne ich mich leider nicht aus, sodass die Applet-Lösung wohl entfällt.

      Wie (in welcher Programmiersprache) schreibt man denn ActiveX-Controls?

      Gruss,
      Daniel

      1. Moin Moin !

        Es muss auch nur mit IE 6 funktionieren (aus dem gleichen Grund). Mit Java kenne ich mich leider nicht aus, sodass die Applet-Lösung wohl entfällt.

        Och, wenn Du eine Woche lang ein paar Stunden nebenbei Zeit hast, Dir ein paar Beispiele aus dem Netz und die Doku von Sun zu ziehen, kannst Du schon eine ganze Menge lernen und auch dieses "Trivialproblem" lösen, ohne an einen Browser gebunden zu sein. Gegen Geld und eine Woche Zeit gibt es natürlich auch richtige Java-Schulungen.

        Wie (in welcher Programmiersprache) schreibt man denn ActiveX-Controls?

        ActiveX-Controls sind Win32-DLLs, prinzipiell kannst Du also ActiveX-Controls in jeder Sprache schreiben, die DLLs erzeugen kann. Üblich ist Visual C++, von Visual Basic habe ich keine Ahnung. Es gab (gibt ?) bei Microsoft ein Gratis-Kit, mit dem man nur ActiveX-Zeug compilieren kann (aber keine EXE-Dateien). Keine Ahnung, wie es heißt, aber in der c't gab es eine Anleitung, wie man mit diesem Kit doch EXEs erzeugen kann. Wer suchet, der findet ... ;-)

        Alexander

        --
        Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Hallo Forum,

    (wie) kann ich mit JavaScript alle Dateien eines Ordners auf der Festplatte des Users auslesen bzw. hochladen? Der Ordner soll vom User angegeben werden können, danach sollen mit einem Klick alle Dateien dieses Ordners hochgeladen werden.

    Mit JavaScript geht das nicht. Man kann keine Ordner vom User auslesen und Dateien nur mit einem Upload-Formular hochladen.

    Hintergrund: Ich entwickle gerade eine CMS auf ASP-Basis mit integrierter Upload-Funktion. Um dem Kunden nun mehr Komfort zu bieten, will ich, dass er alternativ nur den Ordner angeben kann und dann automatisch alle Dateien aus diesem Ordner hochgeladen werden.

    Die Ordner-Hochlade-Funktion geht dann erst recht nicht.

    Falls es mit JavaScript nicht geht, bin ich auch froh über andere Tipps!

    Auch mit PHP funktioniert das nicht. Du kannst nur mehrere Hochlade-Felder gleichzeitig anzeigen.

  3. Moin!

    Hintergrund: Ich entwickle gerade eine CMS auf ASP-Basis mit integrierter Upload-Funktion. Um dem Kunden nun mehr Komfort zu bieten, will ich, dass er alternativ nur den Ordner angeben kann und dann automatisch alle Dateien aus diesem Ordner hochgeladen werden.

    Falls es mit JavaScript nicht geht, bin ich auch froh über andere Tipps!

    Benutze einen vernünftigen Browser und ein ordentliches serverseitiges Skript, dann kannst du mit einem Datei-Upload-Feld auch problemlos mehrere Dateien auswählen.

    Als einziger vernünftiger Browser existiert aber bisher leider nur Opera dafür (alle anderen erlauben Mehrfachauswahl nicht), und ein ordentliches serverseitiges Skript muß zudem noch gefunden werden (nicht mal PHP kann damit standardmäßig umgehen, man müßte sich die Dateien selbst aus dem POST-Datenstrom herausfummeln - vielleicht ist ASP da besser dran, allerdings benötigt man da ja für die simpelsten Aufgaben schon eigene Module, die nicht standardmäßig dabei sind).

    Ansonsten sehe ich wenig Chancen. Die von dir gestellte Aufgabe (Upload mehrerer Dateien) erledigt man entweder einzeln nacheinander (oder meinetwegen auch durch entsprechend viele Dateiauswahlelemente in einem einzigen Formular), oder durch bessere Zugriffsmethoden wie Secure Copy (SCP) oder Secure FTP (SFTP) - meinetwegen auch normales FTP.

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 20885,68 Euro Spendengelder!
    1. Moin Moin !

      Benutze einen vernünftigen Browser und ein ordentliches serverseitiges Skript, dann kannst du mit einem Datei-Upload-Feld auch problemlos mehrere Dateien auswählen.

      Als einziger vernünftiger Browser existiert aber bisher leider nur Opera dafür (alle anderen erlauben Mehrfachauswahl nicht)

      Wieder was gelernt ...

      Abessere Zugriffsmethoden wie Secure Copy (SCP) oder Secure FTP (SFTP) - meinetwegen auch normales FTP.

      Wenn (wie in [pref:t=68103&m=390282] geschrieben) alle User den IE6 haben, dann sollte Windows auch mit WebDAV (Webfolder im MS-Jargon) klarkommen, sprich: Teile des Webservers *können* als mehr oder weniger normaler Fileserver im Windows-Explorer erscheinen, auch wenn dahinter eigentlich ein serverseitiges Script verbirgt statt eines echten Fileservers.

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  4. Danke an alle für ihre Tipps!

    Habe inzwischen das Freeware-JavaApplet JUpload (http://haller-systemservice.net/jupload/) gefunden, das für meine Ansprüche genügt :-)

    Gruss,
    Daniel