Datei auf Mobile löschen

Startseite Foren Deutsches LiveCode-Forum Datei auf Mobile löschen

  • Dieses Thema hat 16 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Jahren von Axwald.
Ansicht von 16 Antwort-Themen
  • Autor
    Beiträge
    • #47551
      guko56
      Teilnehmer

        Hallo Spezies

        Kann mir einer mal sagen warum der Befehl
        <!–StartFragment –><b><span style=“color: #7f7f00;“>delete</span></b> <span style=“color: #7f007f;“>uRL</span> <span style=“color: #00007f;“>“ftp://user:pw@Server/Datei.txt&#8220;
        auf dem PC (Windows) funktioniert und auf dem Handy (Android) nicht.
        </span>

        Danke
        Günter

        <!–EndFragment –>

         

      • #47552
        guko56
        Teilnehmer

          Kann mir einer mal sagen warum der Befehl
          delete uRL „ftp://user:pw@Server/Datei.txt&#8220;
          auf dem PC (Windows) funktioniert und auf dem Handy (Android) nicht.

          Danke
          Günter

        • #47553
          Klaus Major
          Administrator

            Was sagt denn -> the result direkt nach dem Löschversuch?

            Also:

            ...

            delete URL "ftp://user:pw@Server/Datei.txt"

            if the result <> EMPTY then

              answer "Problem:" && the result

            end if

            ...

          • #47554
            guko56
            Teilnehmer

              Hallo Klaus
              Es kommt die Meldung „not implemented“

              GrußGünter

            • #47555
              Klaus Major
              Administrator

                Huch??? Sollte auf der mobilen Platform sogar ohne libURL finktionieren!?

                Enthält der Username oder das Passwort NON-Ascii Zeichen?

                Groß-/Kleinschreibung korrekt?

              • #47556
                guko56
                Teilnehmer

                  Es ist nur ein minuszeichen dabei sonst normale ASCII-Zeichen. Es sind beim FTP-Server
                  (FileZilla Server auf Windows) auch keinerlei Logeinträge zu sehen, als ob er übergaupt nicht reagiert.  Beim PC kann ich die Logdatei mit Einträgen sehen und der Befehl funktioniert.

                  Gruß

                • #47557
                  Klaus Major
                  Administrator

                    Hm, Sie sehen mich ratlos, Syntax ist korrekt, müsste funktionieren.

                    Sorry, keine zündende Idee im Moment…

                  • #47558
                    Klaus Major
                    Administrator

                      „ftp://user:pw@Server/Datei.txt&#8220;

                      Die „falschen“ (für LC) Anführungszeichen am Anfang sind aber korrekt in Deinem Skript?

                      -> „ftp://user:pw@Server/Datei.txt&#8220;

                    • #47559
                      Klaus Major
                      Administrator

                        Aha, sehe schon, das macht die Forumssoftware…

                      • #47561
                        Axwald
                        Teilnehmer

                          Schönes Neues,

                          also: FTP ist case-sensitive, also schön auf korrekte Groß/ Kleinschreibung achten! Dann:

                          put "x45B3" into myUser
                          put "TiSekrete!" into myPW
                          put "myDomain.org/myFolder/myFile.txt" into myFile
                          put "ftp://" & myUser & ":" & URLEncode(myPW) & \
                          "@" & myFile into myURL
                          delete URL myURL
                          get the result
                          if it is not empty then answer error it titled "OUCH!"

                          Sollte „myFile“ Umlaute etc. enthalten, könntest Du das so schreiben:

                          "@" & URLEncode(myFile) into myURL

                          Aber das würde ich sowieso vermeiden – FTP-Server sind oft uralte, organisch gewachsene Unix-Tools & reagieren manchmal unvorhersehbar auf alles, was nicht Basis-ASCII ist 🙂

                          Und dann sollte natürlich sichergestellt sein, daß myUser in myFolder überhaupt löschen darf!

                          Als letztes: Neuere LC-Versionen (so ab V7 …) sind notorisch Bug-verseucht, speziell unter Android, Linux und Windows. Immer nochmal mit einer älteren Version testen.

                          Viel Spaß!

                        • #47562
                          guko56
                          Teilnehmer

                            Hallo Axwald
                            Vielen Dank für deinen Tip. Habe es mal getestet. Auf PC unter Windows klappt es, aber
                            Auf Mobile unter Android wird nichts rausgeschickt. Werde mal eine ältere LifeCode-Version
                            testen. Muß dazu sagen ich habe die community edition 9.0

                            Günter

                          • #47563
                            Klaus Major
                            Administrator

                              Hier gibt es die letzten Version der Community Edition.
                              Mal updaten, dann hast Du eventuell mehr Glück.
                              https://community.livecode.com/9_6_3/

                            • #47564
                              Axwald
                              Teilnehmer

                                Guko,

                                ich schau mir das mal auf Android an. Kann aber ein paar Tage dauern.

                                2 mögl. Fehlerquellen fallen mir noch ein:

                                1.) Neuere Android-Versionen blocken ungesicherte Verbindungen. FTP könnte da darunter fallen – aber es geht hier nur ums löschen, richtig? Downloaden kannst Du die Datei?

                                2.) WLAN – ein häufiges Problem sind öffentl. Hotspots/ der Gast-Zugang der Fritzbox: Da ist oft per default nur „Surfen & Mail“ erlaubt, Datenbank- und FTP-Zugriffe werden geblockt.

                                Viel Spaß!

                                PS: Um Punkt 1.) zu beheben (der ist auch in 9.6.3 noch ungepatcht):

                                In [LC-Programmordner]/Runtime/Android/ gibt es eine „Manifest.xml“. In dieser ist eine Zeile einzufügen:
                                Nach der Zeile ${CUSTOM_URL_FILTER} kommt das hier rein:
                                android:usesCleartextTraffic="true",
                                bevor dem End-Tag für „activity“.

                                Diesen Patch (der aus der Community kam) hat LC Ltd. lange zurückgehalten, extra für die Bezahl-Versionen. Er sorgt dafür, daß eine damit kompilierte Android-APK auch http (und ftp) benutzen darf.

                              • #47565
                                guko56
                                Teilnehmer

                                  Hallo Axwald
                                  Danke für deine Infos. Den Patch werde ist mal testen.
                                  Noch zur Info das löschen geht weder bei Android 7.0 noch bei Android 12 und auch nicht
                                  bei unterschiedlichen Handys, das lesen, schreiben und abfragen von Dateien über FTP funktioniert.
                                  Benutze allerdings WLan über FritzBox.

                                  Gruß Günter

                                • #47574
                                  Axwald
                                  Teilnehmer

                                    Hallo,

                                    ich konnte das nachstellen. Die LibURL für Android hat bei FTP einige Aussetzer.

                                    put "This is a test." into URL (myBaseFtpPath & "test.txt")

                                    erzeugt zwar eine „test.txt“, aber die ist leer. (myBaseFTPPath ist eine gültige FTP-Adresse mit username:passwort@domain/ordner/ …)

                                    put CR & "We can write to it!" after URL (myBaseFtpPath & "test.txt")

                                    tut auch nix. In beiden Fällen bleibt „the result“ leer (= BUG)!

                                    delete URL (myBaseFtpPath & "test.txt")

                                    antwortet mit „not implemented“, wie beschrieben.

                                    Bisher war mir das nicht aufgefallen – ich hatte immer einfach fertige Files (aus „specialFolderPath(„temporary“)“) kopiert. Aber das erklärt auch ein mysteriöses Problem in meinem neuen ErrorHandling, das auf Android noch nicht hinhaut – jetzt weiß ich, warum!

                                    Sobald ich einen WorkAround habe, poste ich den hier 🙂

                                    Viel Spaß!

                                  • #47576
                                    guko56
                                    Teilnehmer

                                      Hallo
                                      Das mit der leeren Datei habe ich auch schon vor Jahren festgestellt. Ab einer Mindestgröße von ca.
                                      10 KByte ist die Datei nicht mehr leer. Bei geringen Datenmengen fülle ich die Datei bis zu der genannten Größe immer auf.

                                      Günter

                                    • #47587
                                      Axwald
                                      Teilnehmer

                                        Hallo,

                                        ich bin dem jetzt mal nachgegangen & habe noch ein paar interessante Sachen gefunden:

                                        – Das hatten wir hier schon mal 🙂
                                        – Meine Lösung von damals funktioniert auf moderneren Androids nicht mehr, warum auch immer.
                                        – Datei löschen habe ich gar nicht hingekriegt.
                                        – Die Android-URL-Implementation hat noch ein paar andere böse Bugs, z.B.
                                        get URL ("ftp:// ... /folder/")
                                        (also ein simples Datei-Listing) hat unterschiedliche Ausgaben unter Win & Android …

                                        Daraufhin habe ich mich mal zurückgelehnt, und mir angeschaut, was ich eigentlich mit FTP mache, und wie:

                                        FTP ist ja ein prinzipiell unsicheres System, mit im Klartext übertragenen Passwörtern. Will ich, daß da jemand etwas löschen kann? Eher nicht, oder?
                                        Und so sehe ich, daß inzwischen seitens meiner Programme eh nur lesend zugegriffen wird:
                                        – Lesen von (verschlüsselten) Einstellungsdateien, und
                                        – Download von Elementen (Stacks, Hilfsprogramme, Dokumentation) die eh alle OpenSource sind.

                                        Die vom Programm verwendeten User haben für die betr. FTP-Verzeichnisse gar kein Schreibrecht mehr. (Das hatte ich für meinen Test natürlich geändert.)
                                        Meine Error-Logs übertrage ich inzwischen über ein LC-Server-Script, eine früher verwendete rudimentäre Telemetrie (Arbeitszeit-Tracking im Kundenauftrag) hat still & leise die Funktion eingestellt 🙂

                                        Daher ging ich davon aus, libURL/Android würde, wie gewohnt, wenigstens halbwegs funktionieren. Tut es scheinbar nicht mehr.
                                        „Ist eh überholt, nimm doch tsNet“, lese ich im Forum & auf der Mailing-Liste dazu. Klar, fette Kohle verlangen für eine halbherzige Implementation des OpenSource-Tools cURL, die dazu wahrscheinlich auch nur auf Apple-Hardware richtig läuft – das ist auch ein Geschäftsmodell.

                                        Tut mir leid, daß ich nicht weiter helfen konnte. Viel Spaß!

                                    Ansicht von 16 Antwort-Themen
                                    • Du musst angemeldet sein, um auf dieses Thema antworten zu können.