Datei lokal ablegen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datei lokal ablegen

    Hallo zusammen

    Ich habe da eine, für einige, etwas heikle Frage:

    Wie schaffe ich es, dass ich Daten aus einer Textarea auslesen und als *.txt, möglichst ohne weitere Nachfrage à la "Sind Sie sicher", irgendwo auf der lokalen Platte des PC ablegen kann (bzw. Netzlaufwerk).

    Also das auslesen der Daten ist kein Problem, aber das lokale schreiben auf die HDD macht mir etwas Kopfschmerzen. PHP fällt ja leider raus, weil da die Daten ja nur auf dem Server abgelegt werden können. Nun kam JavaScript in die Diskussion, aber das kann meines Wissens auch nicht direkt auf die HDD des Users schreiben. Aber welche, möglichst einfache, Alternativen habe ich denn da noch?

    Bevor ihr mich jetzt als Hacker oder was weis ich abstempfelt möchte ich noch rasch erklären, was ich eigentlich genau machen will/muss.

    In einigen uns angeschlossenen Filialen werden Bestellungen mit portablen Scannern aufgenommen. Der Datensatz besteht jeweils aus einer EAN-Nr und der Menge die bestellt werden soll. Für die Weiterverarbeitung der Daten benötigen wir nun aber diese in einem Textfile, welches unter einem bestimmten Namen an einem bestimmeten Ort auf einem Netzlaufwerk abgelegt und dann vom entsprechenden Prozess auf dem AS/400 eingelesen und weiterverabeitet wird. Nun möchte ich das als Web-Applikation zur Verfügung stellen.

    Wir haben auch schon versucht ein entsprechendes Tool, analog der übrigen Software, via Citrix-MetaFrame zur Verfügung zu stellen, aber das hat aufgrund der zu schmalen Bandbreiten im WAN nicht geklappt. Den Datensatz hats uns regelmässig beim übertragen vom Scanner an das Programm zerschlagen.


    Danke für jeden Tip

    Gruss
    Philipp

  • #2
    Mit JavaScript wirst du das nicht auf die Reihe bekommen, selbst im IE dürften dies die Sicherheitsrichtlinien nicht zulassen.

    Bei älteren IE-Versionen war es jedoch möglich VB-Scripte einzubinden. Damit solltest du dein Vorhaben realisieren können.

    Andernfalls wird es doch auch nicht sooo schwer sein, eine kleine Socketapplikation in C(pp) zu schreiben. Tutorials bezüglich "Chats in C++" (im Prinzip dürfte das bereits für deine Bedürfnisse reichen) gibt es im Net zu Genüge.

    Kommentar


    • #3
      Wie schaffe ich es, dass ich Daten aus einer Textarea auslesen und als *.txt, möglichst ohne weitere Nachfrage à la "Sind Sie sicher", irgendwo auf der lokalen Platte des PC ablegen kann (bzw. Netzlaufwerk).
      das wird so nicht gehen, sonst könnte ich dir ja alles mögliche auf die platte hauen, ohne dass du es merkst.

      gruss
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        was spricht dagegen, dass du per PHP die Datei erstellen und aufs Netzlaufwerk schieben läßt?

        Kommentar


        • #5
          Danke für deine Antwort...

          Wir haben bei uns auf allen PC's den IE 6.0 SP1. Die Variante mit VB und den älteren IE's fällt also weg.

          Dann dein Vorschlag zur Socketapplikation... Viielleicht mache ich mich jetzt komplett lächerlich, aber was kann ich darunter verstehen?

          Soweit meine Kenntnisse reichen, könnte man sowas wahrscheinlich mit einem ActiveX Steuerprogramm abhandeln, aber da kenne ich mich nun wirklich nicht aus. Und auch unsere RPG-ler können mir da nicht wirklich weiterhelfen...

          Kommentar


          • #6
            Original geschrieben von philippCH
            Dann dein Vorschlag zur Socketapplikation... Viielleicht mache ich mich jetzt komplett lächerlich, aber was kann ich darunter verstehen?

            http://www.amk.ca/python/howto/sockets/

            Kommentar


            • #7
              was spricht dagegen, dass du per PHP die Datei erstellen und aufs Netzlaufwerk schieben läßt?
              Dagegen sprechen v.a. zwei Dinge:

              1. Der WebServer steht in der DMZ, das AS/400 im LAN.
              2. Selbst wenn unser Netzwerker das zulassen würde, ginge es nicht.
              Grund: Bei allen PC (rund 80 PC's in 15 Filialen) wird genau für diese Dinge eine Freigabe auf dem AS/400 als Laufwerk K: verbunden. Jede Filiale hat dabei ihr eigenes K-Laufwerk. Wie sollte ich nun auf dem WebServer 15 x ein anderes K: verbinden?

              Kommentar


              • #8
                Original geschrieben von philippCH
                2. Selbst wenn unser Netzwerker das zulassen würde, ginge es nicht.
                Grund: Bei allen PC (rund 80 PC's in 15 Filialen) wird genau für diese Dinge eine Freigabe auf dem AS/400 als Laufwerk K: verbunden. Jede Filiale hat dabei ihr eigenes K-Laufwerk. Wie sollte ich nun auf dem WebServer 15 x ein anderes K: verbinden?


                und wenn ich dich über's netzwerk auf meine C:\-platte zugreifen lassen würde - dann müsste die bei dir auch als C:\ eingebunden werden, und du deine evtl. physikalisch vorhandene C:\-platte natürlich vorher entfernen ... oder wie?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von philippCH
                  Dagegen sprechen v.a. zwei Dinge:
                  1. Der WebServer steht in der DMZ, das AS/400 im LAN.
                  das heißt aber nicht, dass die Kommunikation mit internen LAN nicht möglich ist.
                  2. Selbst wenn unser Netzwerker das zulassen würde, ginge es nicht.
                  Grund: Bei allen PC (rund 80 PC's in 15 Filialen) wird genau für diese Dinge eine Freigabe auf dem AS/400 als Laufwerk K: verbunden. Jede Filiale hat dabei ihr eigenes K-Laufwerk. Wie sollte ich nun auf dem WebServer 15 x ein anderes K: verbinden?
                  Hm... ich denke, dass du hier was durcheinander bringst. Du schiebst die Datei direkt auf dem AS/400. Über die Freigabe kommen die Leute doch an die Daten dran. Es ist doch egal wieviele Male die Freigabe wo gemappt ist und als wasfür LW-Alias eingebunden ist. Die Quelle ist einmalig! Du mußt nicht 15 Mal kopieren!

                  Kommentar


                  • #10
                    und wenn ich dich über's netzwerk auf meine C:\-platte zugreifen lassen würde - dann müsste die bei dir auch als C:\ eingebunden werden, und du deine evtl. physikalisch vorhandene C:\-platte natürlich vorher entfernen ... oder wie?
                    Entschuldige bitte, aber dieser Kommentar ist nun wirklich überflüssig...
                    Selbst wenn unser Netzwerker das zulassen würde
                    Tut er aber nicht.... Nicht für eine Freigabe und schon gar nicht für 15 oder noch mehr!!!

                    Kommentar


                    • #11
                      Original geschrieben von philippCH
                      Entschuldige bitte, aber dieser Kommentar ist nun wirklich überflüssig...
                      so einen unsinn als argument anzuführen, wie du es gemacht hast, aber ebenfalls.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Über die Freigabe kommen die Leute doch an die Daten dran
                        Die Leute müssen ja nicht mehr an diese Daten ran... Die Datei wird ja nur noch vom AS/400 zur Weiterverarbeitung in genau dieser Freigabe gesucht.

                        Und die Applikation, welche dieses Script startet ist NICHT lokal installiert. Diese wird via Citrix MetaFrame zur Verfügung gestellt. Das einzige, was lokal auf dem PC ausgeführt wird ist der IE. Und dort soll der User die Daten aus dem Scanner in ein Textfeld laden. Und die einzige Schnittstelle zwischen dem PC und dem AS/400 ist diese eine Freigabe auf dem Buchstaben K:

                        Aber dieses K: ist bei jedem Betrieb mit einer anderen Freigabe verbunden. Im Betrieb 1 heisst die z.B. \\chlvsg01\fi002be01 im zweiten \\chlvsg01\fi004be01 usw.. Und das rund 15 mal...

                        Kommentar


                        • #13
                          Hm ... du sagtest:
                          Für die Weiterverarbeitung der Daten benötigen wir nun aber diese in einem Textfile, welches unter einem bestimmten Namen an einem bestimmeten Ort auf einem Netzlaufwerk abgelegt und dann vom entsprechenden Prozess auf dem AS/400 eingelesen und weiterverabeitet wird.
                          also geht es hier garnicht um irgendwelche Freigabe. Das Ziel ist ja, dass die Datei zum AS/400 in einem bestimmten Verzeichnis gelangen muß. Wenn die Kommunikation zwischen dem Webserver und dem AS/400 Maschine möglich ist, dann steht dir nichts im Wege. Sprich doch mal mit eurem Admin. Wir haben auch Webserver in DMZ, die mit DB-Server im LAN kommunizieren. Daher sollte das ja kein Problem sein.

                          Kommentar


                          • #14
                            Das Ziel ist ja, dass die Datei zum AS/400 in einem bestimmten Verzeichnis gelangen muß.
                            Das ist korrekt so...

                            Wenn die Kommunikation zwischen dem Webserver und dem AS/400 Maschine möglich ist...
                            Die Kommunikation zwischen DMZ und AS/400 beschränkt sich nur und ausschliesslich auf eine ODBC Schnittstelle und auch diese ist nur lesend. Der Austausch von übrigen Daten von der DMZ in Richtung LAN ist explixit unterbunden. Ferner hat der WebSever generell keine Zugriffsberechtigtung auf dem AS/400... und schon gar keine Schreibrechte. Und direkte Schreibrechte wird der WebSever auf dem AS/400 auch bestimmt nie erhalten.

                            Ich weis jetzt auch gar nicht so recht, wieso ihr auf dieser Verbindung so rumreitet. Weder der Netzwerker noch der AS/400-Admin sind bereit, dem WebServer entsprechende Rechte zu vergeben. Denkt ihr, ich hätte das nicht schon längst mit den beiden breitgeschlagen? Das ist ja der Grund, weshalb ich nach wie vor nach einer Möglichkeit suche, wie ich die Daten direkt lokal im Browser verarbeiten kann. Oder ist den mein Gedankengang derart unrealistisch?

                            Kommentar


                            • #15
                              Original geschrieben von philippCH
                              Oder ist den mein Gedankengang derart unrealistisch?
                              Nein, das nicht. Aber IMHO ist es besser, eine kontrollierbare Verbindung aufzubauen, als 15 Sicherheitslücken zu öffen, denn sobald du es erlaubst, vom Browser aus ins lokale HD schreiben zu lassen, kann man für nichts garantieren.

                              Kommentar

                              Lädt...
                              X