Startseite › Foren › Deutsches LiveCode-Forum › Datei downloaden und in einen anderen Ordner verschieben?
- Dieses Thema hat 14 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 5 Jahren, 11 Monaten von
JB1002000.
-
AutorBeiträge
-
-
Mai 2, 2019 um 12:16 Uhr #14525
Hallo, ich möchte folgendes realisieren:
Meine erstellte App soll von meinem FTP-Server selbständig eine LiveCode Datei (Zusatzdatei.livecode) herunterladen, wenn die Datei noch nicht auf dem Handy verfügbar ist oder veraltet ist. Nun habe ich lange herum probiert, komme allerdings nicht zum Ziel. Wie kann ich eine Datei herunterladen und dann an einen beliebigen Pfad verschieben? Vielen Dank im voraus, für eure Hilfe!
-
Mai 2, 2019 um 12:32 Uhr #14527
Hi JB1002000,
auf der mobilen Platform haben wir NUR hier Schreibrechte -> specialfolderpath(„documents“)!
Also solltest Du den Stack auch dort speichern.Schau mal im dictionary unter -> ftp
nach, da gibt es auch einige Beispiele, wie man das benutzt.Falls Du nicht weiterkommst, hier wieder fragen.
Beispiel:... put specialfolderpath("documents") & "/zusatzdatei.livecode" into tZielDatei ## Prüfen, ob schon vorhanden: if there is a file tZielDatei then exit to top end if ## Nun der eigentliche Download direkt in die richtige Datei: put URL "ftp://DEIN_USERNAME_HIER:DEIN_PWD_HIER@ftp.example.net:2121/zusatzdatei.livecode" into url("binfile:" & tZielDatei) ...
Diese Aktion ist „blocking“, heisst, während LC die Datei lädt, kannst Du nichts anderes machen. Sollte aber kein Problem sien, wenn der Stack nicht allzu groß ist.
Gruß
Klaus
-
Mai 2, 2019 um 12:37 Uhr #14529
Vielen, vielen Dank für die super schnelle und hilfreiche Antwort! Ich versuche es dann direkt und Melde mich dann nochmal.
-
Mai 2, 2019 um 19:23 Uhr #14539
on mouseUp global Ordner put (specialFolderPath("documents")&"/LiveCode Projektdatenbanken/UpdateApp") into Ordner if there is a folder Ordner then put URL "ftp://backup-server:MEIN_Passwort@backup-server.bplaced.net:2121/App/UpdateApp/1/Zusatzdatei.livecode" into url("binfile:" & Ordner) answer "Datei gespeichert!" else create folder Ordner put URL "ftp://backup-server:MEIN_Passwort@backup-server.bplaced.net:2121/App/UpdateApp/1/Zusatzdatei.livecode" into url("binfile:" & Ordner) answer "Ordner erstellt und Datei gespeichert" end if end mouseUp
Der Ordner ist vorhanden und das wird auch erkannt, dann kommt die Meldung „Datei gespeichert“. Allerdings bleibt der Ordner leer.
-
Mai 2, 2019 um 19:40 Uhr #14541
Hallo JB1002000,
Du gibst als ZielDATEI einen ORDNER an!
…
put (specialFolderPath(„documents“)&“/LiveCode Projektdatenbanken/UpdateApp„) into Ordner
…
put URL „ftp://…UpdateApp/1/Zusatzdatei.livecode“ into url(„binfile:“ & Ordner)
…
Das bedeutet, Du erstellt einen Ordner und willst eine Datei mit DEM SELBEN Namen wie der Ordner speichern! Das geht natürlich in die Hose und in der Runtime gibt es keine Fehlermeldung wie in der IDE, also geht das unbemerkt unter.Ich hatte gehofft, mein Beispiel sei unmissverständlich:
…
put specialfolderpath(„documents“) & „/zusatzdatei.livecode“ into tZielDatei
…
😎Hinweis:
Ordnung ist ja eine schöne Sache, aber da wir eh nicht in den Ordner auf dem Handy reingucken können, bedarf es eigentlich auch keiner Unterordner im „Documents“ Ordner. 🙂Gruß
Klaus
-
Mai 2, 2019 um 19:56 Uhr #14543
Sorry, das war wirklich dumm, jetzt funktioniert es ordentlich. Ich danke dir für deine Gedult und Hilfe!
-
Mai 2, 2019 um 20:07 Uhr #14545
Macht dann fünf Mark! 😀
-
Mai 5, 2019 um 17:06 Uhr #14580
Hallo, ich habe mit dem Code etwas weitergearbeitet und habe folgendes Problem. Es werden zwar tatsächlich Dateien in den Ordner „UpdateApp“ geladen, allerdings ohne Inhalt. In der Textdatei ist eine Zahl gespeichert, die sollte ja normalerweise heruntergeladen werden und in dem Ordner „SpeicherPath“ gespeichert werden.
Hier mein jetziger Code:
on mouseUp //Variablen deklaration put (specialFolderPath("documents") & "/UpdateApp") into SpeicherPath put (specialFolderPath("documents") & "/UpdateApp/Zusatzdatei.livecode") into Zusatzdatei put (specialFolderPath("documents") & "/UpdateApp/Version.txt") into DateiVersion //Prüfen ob OrdnerZusatzdaten vorhanden ist if there is a folder SpeicherPath then put URL "ftp://backup-server:MEIN_PASSWORT@backup-server.bplaced.net:2121/App/UpdateApp/Zusatzdaten/Zusatzdatei.livecode" into url("binfile:" & Zusatzdatei) put URL "ftp://backup-server:MEIN_PASSWORT@backup-server.bplaced.net:2121/App/UpdateApp/Zusatzdaten/Version.txt" into url("binfile:" & DateiVersion) else create folder SpeicherPath put URL "ftp://backup-server:MEIN_PASSWORT@backup-server.bplaced.net:2121/App/UpdateApp/Zusatzdaten/Zusatzdatei.livecode" into url("binfile:" & Zusatzdatei) put URL "ftp://backup-server:MEIN_PASSWORT@zE.jX@backup-server.bplaced.net:2121/App/UpdateApp/Zusatzdaten/Version.txt" into url("binfile:" & DateiVersion) end if end mouseUp
-
Mai 5, 2019 um 17:47 Uhr #14582
Hi jb1002000,
Du kannst Dir etwas Tipparbeit sparen:
... ## Diese Zeile reicht für Dein Anliegen :-) if there is NOT a folder SpeicherPath then create folder SpeicherPath end if put url... put url... ...
Hm, backup-server is dann wohl Dein Username, richtig?
Sieht alles korrekt aus, Du solltest aber das Ergebnis der Aktionen checken:... ## Mal vorsichtshalber MIT Klammern probieren! put url("ftp...") ## the result ist nur LEER bei Erfolg: if the result <> EMPTY then answer "Problem:" && the result end if put url("ftp...") if the result <> EMPTY then answer "Problem:" && the result end if ...
Bitte hier posten, was in dem Dialog steht, sofern er auftaucht.
Vielleicht gibt das Aufschluss darüber, ob und was falsch läuft.Gruß
Klaus
-
Mai 5, 2019 um 17:58 Uhr #14584
Also ich habe den Code wie folgt geändert:
on mouseUp //Variablen deklaration put (specialFolderPath("documents") & "/UpdateApp") into SpeicherPath put (specialFolderPath("documents") & "/UpdateApp/Zusatzdatei.livecode") into Zusatzdatei put (specialFolderPath("documents") & "/UpdateApp/Version.txt") into DateiVersion //Prüfen ob OrdnerZusatzdaten vorhanden ist if there is a folder SpeicherPath then put URL ("ftp://backup-server:MEIN_PASSWORT@backup-server.bplaced.net:2121/App/UpdateApp/Zusatzdaten/Zusatzdatei.livecode") into url("binfile:" & Zusatzdatei) if the result <> EMPTY then answer "Problem:" && the result end if put URL ("ftp://backup-server:MEIN_PASSWORT@backup-server.bplaced.net:2121/App/UpdateApp/Zusatzdaten/Version.txt") into url("binfile:" & DateiVersion) if the result <> EMPTY then answer "Problem:" && the result end if else create folder SpeicherPath put URL ("ftp://backup-server:MEIN_PASSWORT@backup-server.bplaced.net:2121/App/UpdateApp/Zusatzdaten/Zusatzdatei.livecode") into url("binfile:" & Zusatzdatei) if the result <> EMPTY then answer "Problem:" && the result end if put URL ("ftp://backup-server:MEIN_PASSWORT@backup-server.bplaced.net:2121/App/UpdateApp/Zusatzdaten/Version.txt") into url("binfile:" & DateiVersion) if the result <> EMPTY then answer "Problem:" && the result end if end if end mouseUp
Ich habe mir die Schreibarbeit erstmal noch nicht vereinfacht, mache ich dann wenn es richtig funktioniert.
ich bekomme keine Meldung angezeigt. -
Mai 5, 2019 um 18:14 Uhr #14586
Mit einem FTP Client klappt das sicher ohne Probleme, oder?
Hm, dann habe ich leider keine zündende Idee mehr im moment, sorry…Zur Sicherheit:
INTERNET etc. hast du aber angeklickt bei ANDROID für die Android Standalone?
Und da der Standalone Builder manchmal Probleme hat, die richtigen Libs etc. automatisch hinzuzufügen, bitte mal „Select inclusions for the standalone application“ anklicken und bei INCLUSIONS die INTERNET Library, ziemlich weit unten, manuell anklicken. -
Mai 5, 2019 um 18:18 Uhr #14588
Hm, ich bin auch am verzweifeln. Schade das es daran scheitert. Ich habe es bisher auf Windows getestet.
-
Mai 5, 2019 um 18:23 Uhr #14590
Wenn Du alles ohne Erfolg probiert hast, wie ich oben beschreiben habe, versuche es mal mit -> liburldownloadtofile
-
Mai 5, 2019 um 18:32 Uhr #14592
Alles klar, da muss ich mich errstmal einarbeiten und schauen wie das geht, dauert einen Moment…
-
Mai 12, 2019 um 23:05 Uhr #14782
Da leider nichts zum Erfolg führte, stelle ich die Arbeiten an dieser Stelle vorerst ein. Danke für die Hilfe. 🙂
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.