Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Dateigröße mit Bordmitteln

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Dateigröße mit Bordmitteln

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU @WolfgangFB last edited by

      @wolfgangfb Da die Antwort von fs.statSync('') ein Objekt ist und man nur die size haben möchte:

      {'dev':33,'mode':33261,'nlink':1,'uid':1001,'gid':1001,'rdev':0,'blksize':1048576,'ino':3096224743913964,'size':122867029,'blocks':239976,'atimeMs':1653732607019.0588,'mtimeMs':1650067255000,'ctimeMs':1653681143276.067,'birthtimeMs':1649193484247.149,'atime':'2022-05-28T10:10:07.019Z','mtime':'2022-04-16T00:00:55.000Z','ctime':'2022-05-27T19:52:23.276Z','birthtime':'2022-04-05T21:18:04.247Z'}
      
      1 Reply Last reply Reply Quote 1
      • OliverIO
        OliverIO @WolfgangFB last edited by

        @wolfgangfb

        Die Funktion gibt ein umfangreiches Objekt zurück.
        Durch eine relativ neue Erweiterung des JavaScript Standards kann man ein oder mehrere Attribute dieses Objekts relativ einfach in eigene Variablen speichern und weiter verwenden.
        In diesem Fall wird die Eigenschaft size des Objekts in die variable size gespeichert

        https://www.geeksforgeeks.org/node-js-fs-statsync-method/

        https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @WolfgangFB last edited by

          @wolfgangfb sagte: warum setzt Du "size" in geschweifte Klammern?

          Das ist eine andere Schreibweise für

          const size = fs.statSync('backup/backup.json').size;
          
          W 1 Reply Last reply Reply Quote 0
          • W
            WolfgangFB @paul53 last edited by

            @paul53

            Wieder was gelernt, das wusste ich noch nicht.

            1 Reply Last reply Reply Quote 0
            • wcag22
              wcag22 last edited by

              Re: Dateigröße mit Bordmitteln

              Ok, die Forensoftware schlägt vor, ein neues Thema aufzumachen, sei es drum:
              Also:

              var fs = require('fs');
              const {size} = fs.statSync('backup/backup.json');
              

              Nach der Umstellung auf ESM ist der Aufruf in Zeile 1 wohl deprecated, oder?
              Vorgeschlagen bzw. berichtigt wird nun zu:

              import fs from 'fs';
              

              Auch nach sehr langem Bemühen des Webs finde ich für die Zeile 2 (Zuweisen zur Variablen) keine passende Lösung (oder ich habs nicht verstanden...).

              Kann Jemand helfen? - Danke.

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @wcag22 last edited by Homoran

                @wcag22 sagte in Dateigröße mit Bordmitteln:

                die Forensoftware schlägt vor, ein neues Thema aufzumachen,

                Ist hier ja von 2022, bietet dir aber auch an, hier weiterzumachen.

                hab's mal zusammengeführt, ist ja sooo alt nicht, und sollte auch noch nicht veraltet sein.

                oder doch?
                @wcag22 sagte in Dateigröße mit Bordmitteln:

                wohl deprecated

                was ist denn ESM?
                Wikipedia war da nicht sehr hilfreich
                https://de.m.wikipedia.org/wiki/ESM

                wcag22 1 Reply Last reply Reply Quote 0
                • wcag22
                  wcag22 @Homoran last edited by Homoran

                  @homoran

                  Moin,

                  erstmals darauf aufmerksam geworden am 19.06.24 beim Meeting für ioBroker Core/Dev/Admin

                  "JS-Controller läuft jetzt als ESM Module",

                  Dann:

                  esm-modul.png

                  Soweit ich das verstanden (?) habe, hängt das mit der node-Version zusammmen.

                  How To Use ESM: https://byteofdev.com/posts/how-to-use-esm/

                  Alle Angaben ohne Gewähr

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @wcag22 last edited by

                    @wcag22 Danke!
                    Da soll dann mal ein Wissender was zu sagen

                    1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO last edited by OliverIO

                      @homoran

                      Hier mal ein Vergleich der verschiedenen modulsysteme bei JavaScript
                      https://joeattardi.dev/comparison-of-javascript-modules

                      Ziel ist irgendwann mal ES modules.
                      Es gibt (und wahrscheinlich noch sehr lange) immer noch viele commons Modul Bibliotheken,

                      https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/import

                      1 Reply Last reply Reply Quote 0
                      • wcag22
                        wcag22 last edited by wcag22

                        @oliverio
                        Moin,

                        auch wenn Du mich vermutlich bewusst nicht erwähnt hast ( 🙂 ) Danke für die Links. Habe sie mir für späteres gründliches Lesen vorgemerkt.
                        Leider komme ich - zunächst ad hoc - auch nicht weiter:

                        Das führt sofort zum Fehler:

                        import {size} from '/media/tapo_report.jpg';
                        

                        Die Frage, wie man nach dieser Methode die Dateigröße ausliest und einer Variablen zuweist, bleibt damit zunächst offen.

                        @Homoran
                        Vielleicht findet sich ja noch ein von Dir erwähnter Wissender 🙂

                        Schönes WE

                        Edit:
                        Das obige Beispiel ist natürlich Unsinn. Soo kann ich nix importieren. Schnellschuss halt...

                        Asgothian 1 Reply Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @wcag22 last edited by Asgothian

                          @wcag22 sagte in Dateigröße mit Bordmitteln:

                          @oliverio
                          Moin,

                          auch wenn Du mich vermutlich bewusst nicht erwähnt hast ( 🙂 ) Danke für die Links. Habe sie mir für späteres gründliches Lesen vorgemerkt.
                          Leider komme ich - zunächst ad hoc - auch nicht weiter:

                          Das führt sofort zum Fehler:

                          import {size} from '/media/tapo_report.jpg';
                          

                          Die Frage, wie man nach dieser Methode die Dateigröße ausliest und einer Variablen zuweist, bleibt damit zunächst offen.

                          @Homoran
                          Vielleicht findet sich ja noch ein von Dir erwähnter Wissender 🙂

                          Schönes WE

                          Edit:
                          Das obige Beispiel ist natürlich Unsinn. Soo kann ich nix importieren. Schnellschuss halt...

                          Du musst das was oben steht durchaus auch 'korrekt' umsetzen:

                          Mit dem 'import' befehl importierst du eine Bibliothek. Damit ersetzt import fs from 'fs' nur var fs = require('fs') In der muss dann die Funktion aufgerufen werden die die Daten liefert::

                          import fs from 'fs'; 
                          const {size} = fs.statSync('/media/tapo_report.jpg');
                          
                          

                          A.

                          wcag22 1 Reply Last reply Reply Quote 0
                          • wcag22
                            wcag22 @Asgothian last edited by

                            @asgothian sagte in Dateigröße mit Bordmitteln:

                            Erst einmal danke für die Rückmeldung und die Erklärung.

                            Du musst das was oben steht durchaus auch 'korrekt' umsetzen:

                            Ja klar 🙂 , aber das war ja eben mein Verständnisproblem

                            Mit dem 'import' befehl importierst du eine Bibliothek. Damit ersetzt import fs from 'fs' nur var fs = require('fs') In der muss dann die Funktion aufgerufen werden die die Daten liefert::

                            Ok, das haste gut erklärt. Wieder was gelernt. Also danke-danke...

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            741
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            7
                            15
                            442
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo