Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] Bilder nach Vis.0 uploaden

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Bilder nach Vis.0 uploaden

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dondento last edited by dondento

      Ich möchte Bilder(jpg) über ein Skript in den Ordner /opt/iobroker/iobroker-data/files/vis.0/main/...... kopieren.
      Dies funktioniert, jedoch sind die Bilder im Vis-Dateimanager nicht sichtbar und sie können auch in der View nicht dargestellt werden('File not found').

      Nach langem Suchen bin ich auf den Hinweis 'falsches Format' gestossen und habe es dann über eine fetch-Funktion versucht (URL: IP-Addresse:8082/vis.0/main/........)
      Dies funktioniert leider nicht, da fetch nur absolute URLs akzeptiert.

      Weiss jemand einen Rat?

      Danke

      bahnuhr 1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @dondento last edited by

        @dondento sagte in Bilder nach Vis.0 uploaden:

        Skript in den Ordner

        Skript zeigen.

        Du musst das Bild mit readfile lesen und dann mit writefile speichern.

        D 1 Reply Last reply Reply Quote 0
        • D
          dondento @bahnuhr last edited by

          @bahnuhr

          Hallo, hier das Skript:

          fs.readdir('/home/smarthome/Musik', (err, files) => {
              if (err) {
                  console.error(err);
              return;
              }
          
              html ="<table width=100% border=0>";
          
              for (i=0;i<files.length;i++) {
                  let imagename='/home/smarthome/Musik/'+ files[i]+"/cover.jpg";
                  let destinationName ='/opt/iobroker/iobroker-data/files/vis.0/main/Musik/cover' + i + '.jpg';
          
                  // fs.copyFile(imagename, destinationName, (err) => {
                  //     if (err) {}
                  //     else console.log(imagename + ' wurde kopiert');
                  // });
          
                  fs.readFile(imagename, (err, data)=>{
                      if(err) { }
                      else {
                          console.log("Schreibe nach: " + destinationName);
          
                          fs.writeFile(destinationName, data, (err) => {
                              if (err)
                                  console.log(err);
                              else {
                                  console.log("File written successfully\n");
                              }
                          });
          
                      }
                  })
          
                  if (i%4 == 0) html+= "<tr>";
                          
                  html+= "<td  align=center style=\"padding:15px\"><div onclick='playAlbum(" + i + ")'><img src= '/vis.0/main/Sonstige/schallplatte.png' style=\"height: 50px; width: 50px;\"></div>" + files[i] + "</td>";
          
                  if (i%4 == 3 ) html+="</tr>\r\n";
              }
          
              if (files.length %4 !=3) html+="</tr>\r\n";
          
              html += "</table>\r\n";
          
              html += "<script>function playAlbum(id){\r\n";
              html += "console.log('Spiele Album ' + id);\r\n";
              html += "this.servConn._socket.emit('setState', '0_userdata.0.Musikverzeichnis.Album', id);\r\n";
              html += " }\r\n";
              html += "</script>";
          
              setState('0_userdata.0.Musikverzeichnis.HTML-Alben'/*HTML-Alben*/,html);
          });
          

          }

          Jetzt mal mit readfile und writefile. Kopieren funktioniert, laut Terminal sind die Files vorhanden, jedoch keine Anzeige im Vis-Dateimanager.

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @dondento last edited by

            @dondento

            du musst folgende function nehmen

            https://forum.iobroker.net/post/307268

            D 1 Reply Last reply Reply Quote 0
            • D
              dondento @liv-in-sky last edited by

              @liv-in-sky

              Super, funktioniert prima.
              Vielen Dank

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

              Support us

              ioBroker
              Community Adapters
              Donate

              464
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              3
              5
              165
              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