NEWS
[gelöst] Bilder nach Vis.0 uploaden
-
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
-
@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.
-
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.
-
-
Super, funktioniert prima.
Vielen Dank