3 Antworten Neueste Antwort am Jul 28, 2016 2:54 AM von ThomasReuter

    Textdatei von Server-$TempFolder zum Client kopieren

    ThomasReuter

      Liebe Freunde,

       

      ich habe da ein kleines Problem: ich baue mir in einem Server-Script eine xml-Datei zusammen (das muss ich auf dem Server machen, weil das ganze Datenhandling mit Löschen, sortieren, hinzufügen auf einem Remote-Client echt VIEL zu lange dauert). Der Server speichert diese XML-Datei im Temp-Pfad, den man über Hole(TemporärerPfad) ausrechnen kann.

       

      Wenn der Server fertig ist (ca. 1 Minute, ca. 1.5MB Stuff), hab ich die XML-Datei dann auf dem Server liegen: jetzt möchte ich die erstellte Datei aber auf dem Desktop des Clients haben - denn auf den TEMP-Ordner des Servers hat ein Client natürlich keine Zugriffsrechte.

       

      Bisher sind mir eingefallen:

      • Einfach den Inhalt der ganzen XML-Datei als "Scriptergebnis" zurückgeben, der Client speichert das in ein Containerfeld und speichert dann das Containerfeld auf dem Desktop
      • Der Server liest die XML-Datei in ein Containterfeld (z.B. das vom ersten Datensatz) ein: da kann sich der Client das wieder rausholen.

       

      Nur: wie liest man denn im Filemaker eine komplette Textdatei in ein Containerfeld ein? Da find ich irgendwie nix.

       

      Oder habt Ihr andere Ideen (Mac/Windows Biotop), die ohne MBS-Tools und Troi auskommen?

       

      Herzliche Grüße,

      Thomas

       

      Client: FM 14 / Mac

      Server: FM 14 / Win

        • 1. Re: Textdatei von Server-$TempFolder zum Client kopieren
          Markus Schneider

          Ansatz:

          Scriptschritt 'aus url einfuegen' (Mehr dazu in der FileMaker Hilfe)

           

          Hier noch Hinweise zu Containerfeldern:

          FileMaker Pro 15 Help

          • 2. Re: Textdatei von Server-$TempFolder zum Client kopieren
            ThomasReuter

            Interessanter Ansatz. Ich werde mal ausprobieren, ob sich auf dem Server das "http://" durch "file://" ersetzen läßt. Dann wär ich raus aus dem Schneider.

             

            Danke!

            Thomas

            • 3. Re: Textdatei von Server-$TempFolder zum Client kopieren
              ThomasReuter

              Okay, lieber Markus: das war der entscheidende Tipp.

               

              Es geht ja - wie oben beschrieben - darum, dass ein Filemaker-Server eine Datei erzeugt, auf die der aufrufende Client später Zugriff haben soll. Das geht nicht direkt, weil Clients normalerweise keinen Zugriff auf das dateisystem haben, in dem der Server läuft.

               

              Also muss man tricksen:

              Wenn man sich den Pfad zur temporären Export-Datei z.B. in der Variablen $xml mit

              • Hole ( TemporärerPfad ) & "Exportfile.xml"

              ausgerechnet hat, dann importiert der Befehl

              • AusURLeinfügen(Auswahl; Ohne Dialogfeld; Containerfeld; "file:/$xml)

              die beim Export erstellte temporäre Datei in das entsprechende Containerfeld. Wenn der Server also mit Werkeln fertig ist, legt er sein Ergebnis einfach in ein Containerfeld ab - das kann der Client sich später suchen und dessen Inhalt dahin kopieren, wo er ihn haben will.

               

              Eine kleine Falle hat er mir gestellt: ich dachte, das Containerfeld könne "Global" definiert sein, weil man es ja nur einmal braucht (man spart ja gerne Ressourcen). Das stimmt aber nicht: globale Containerfelder sind Client-spezifisch. D.h.: wenn ein Client irgendwas in ein globales Containerfeld kopiert, dann sehen es alle anderen Clients nicht.