NEWS
Keine Darstellung von png in Android App
-
ich habe in meinem View einige png eingebunden. Nun habe ich das "Problem", dass einige png im Browser (local oder cloud.pro) angezeigt werden, in der Android App (1.1.1) aber nicht. der Pfad ist /daswetter/icons/wetter/*png. wenn ich nun ipzuiobroker:8082/daswetter/icons/wetter/*png einsetze werden die png angezeigt.
Irgendwie verstehe ich das nicht… das png unter /vis.0/Test/img/*.png wird angezeigt... auch bei /flot/... habe ich keine Probleme...
Woran kann das liegen?
-
Hi,
bei der App liegen die Index.html von VIS und auch die Views lokal auf dem Gerät. Der Server ist somit localhost.
Beim Synchronisieren werden die Views zusammen mit den darin enthaltenen Bildern auf das Gerät kopiert. Hierbei werden aber nur URL berücksichtigt, die den in der App hinterlegten Patterns entsprechen. Alle anderen URL werden nicht verändert. In diesem Fall werden die Dateien dann aber lokal nicht gefunden.
Also entweder die Bilder in ein Verzeichnis kopieren, welches berücksichtigt wird oder mit vollständigen URL arbeiten. Dies geht aber nur, wenn der Server keine http-Authentifizierung benötigt, da diese auf aktuellen Geräten nicht mehr in der URL angegeben werden darf.
Gruß
Markus
Gesendet von meinem SM-G930F mit Tapatalk
-
okay, das leuchtet ein. jetzt habe ich folgendes probiert:
die png in das vis.0 verzeichnis kopiert. und die Pfade entsprechend angepasst…
/vis.0/daswetter/icons/wetter/*.png wird nicht angezeigt
/vis.0/Test/img/Legende_Radar.png wird angezeigt
ich verstehe anscheinend immer noch nicht richtig...
-
Hier ist die Pfadvorgabe:
\/[-_0-9\w]+(?:\.[-_0-9\w]+)?\/[^"^']+[-_0-9\w\.]+\.(?:png|jpg|jpeg|gif|wav|mp3|bmp|svg)+'/g
also
/vis.0/daswetter/icons/wetter/1.png z.B. sollte gehen. /vis.0/daswetter/icons/wetter/*.png natürlich nicht, da * in Dateinamen nicht erlaubt ist.
.
-
Nein nein, das Sternchen ist nur ein Platzhalter für 1f.png oder 2f.png…
Gesendet von iPhone mit Tapatalk Pro
-
Gemäß des regulären Ausdrucks sollte es gehen. Ich gehe mal davon aus, dass du nach der View-Änderung die App resynchronisiert hast und die Option "Immer vom Server alles laden" nicht aktiviert ist.
-
ja, die Einstellungen sind so wie von Dir beschrieben und Resync ist auch gemacht…
ein konkreter Pfad:
/vis.0/daswetter/icons/wetter/{daswetter.0.NextDays.0d.ConditionID}f.png
-
Also wenn du ein Binding in der URL verwendest, ist es eigentlich klar, warum dies nicht funktioniert.
Diese werden erst bei der Anzeige ausgewertet und nicht schon bei der Synchronisation.
-
Okay, wenn das so ist dann ist das so…
Nur verstehe ich nich warum das dann bei den Flot Grafiken funktioniert. Ist dann halt blöd weil die png so ja entweder auf der App oder über die Cloud angezeigt werden aber eben nicht parallel...
Gesendet von iPhone mit Tapatalk Pro
-
Bei Flot werden damit ja keine Dateinamen für Bilder festgelegt sondern Parameter für die Diagrammerzeugung. Die Werte zur Laufzeit sind ja da. Somit wird auch die URL angepasst. Nur wurden halt die Dateien nicht kopiert und der Pfad nicht auf das lokale Filesystem angepasst.
-
Hallo,
ich möchte mich hier mal anschließen weil ich auch das Problem habe, dass in der Iobroker App 3 Bilder bei mir nicht angezeigt werden. Diese Bilder werden in einem Javascript aufgerufen.
Ich habe mir einen "Abfall-Kalender" nachgebaut von folgender Seite:
https://funrecycler.com/2018/12/11/abfallkalender-im-iobroker/Und hier werden eben die Symbole aufgerufen:
if (obj[i].event.indexOf("Bio Müll") > -1) {
html = html + "<td class=Abfallimage><img width=120 height=120 src=/vis.0/Wox/img/Bio_muell.png></td>";
}Diese Symbole funktionieren im Browser aber in der Iobroker App nicht
Kann mir hier jemand helfen? Kann ich die Bilder "manuell" am Handy nachladen? Wo müsste ich die hinkopieren? Oder gibt es eine andere Möglichkeit?Gruß
-
Wenn du das Projekt "main" überträgst müssen ! die Bilder auch dort liegen.
Bei mir also:
C:\ioBroker\iobroker-data\files\vis.0\mainAlle jpg die dort gespeichert sind werden übertragen.
Also bilder kopieren und den Pfad in vis ändern.
Dann klappt es auch mit der app.mfg
Dieter