Neu JTL Datenbank -> Bilderspeicher auslesen

Marc Völker

Moderator
Mitarbeiter
15. April 2014
1.913
212
Hürth
Einfach nur Binär.
Das eigentliche Bildformat wird nicht umgewandelt. Sollte also noch png oder jpeg sein.
Kann man aber meistens am Hash auch erkennen, da das Bildformat dort mit rein geschrieben wird.
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
793
287
Hi,

ich greife das mal wieder auf, da ich aktuelle keine Lösung dafür habe, wie man bBild in das img-Tag einer HTML-Mail ( Druckvorlagen) einbauen kann.
Geht das überhaupt? Hat da jemand schon Erfahrungen dazu, welche er teilen kann?

Viele Grüße
Mirko
 

John

Sehr aktives Mitglied
3. März 2012
3.851
915
Berlin
Ui, das ist doch mal eine Herausforderung.
Das Problem dürfte weniger das Auslesen aus der Datenbank als das anfügen/einbinden des Bilder in die eMail sein. Dafür fällt mich auch nichts ein.
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
793
287
Hi,

das ist mein aktueller Stand - das erste img ist das mit Daten aus der DB, das zweite ein Beispiel aus dem Internet. Letzteres funktioniert sogar:
SQL:
{%- capture query -%}
SELECT
    b.bBild
FROM
    tArtikel a
    LEFT JOIN tArtikelbildPlattform bp ON bp.kArtikel = a.kArtikel AND bp.kShop = 4 AND bp.nNr = 1
    LEFT JOIN tbild b ON b.kBild = bp.kBild
WHERE
    a.cArtNr = 'A00001426'
{%- endcapture -%}
{%- assign result = query | DirectQueryScalar -%}
<html>
    <body>
        <img src = "data:image/jpeg;base64, {{result}}" />
        <img src = "data:image/gif;base64, R0lGODlhCAAFAIABAMaAgP///yH5BAEAAAEALAAAAAAIAAUAAAIKBBKGebzqoJKtAAA7" />
    </body>
</html>

Das Ergebnis der Abfrage ist auch anders, als wenn ich es zb im Management Studio aufrufe.
Hier ein Vergleich der ersten 20 Zeichen:
JTL: 25521625522401674707
DB: 0xFFD8FFE000104A4649

Woran könnte das liegen?
Aber auch mit dem Einsetzen des Textes aus der DB in das img-Tag klappt es nicht.

Ist es denn überhaupt Base64 encodiert?

Aktuell schreiben wir nach Anlage und Übertragung von Artikeln zum Shopware- Shop die Live-Bild-URL per UPDATE in das cQuelle Feld in tBild je Artikel. So haben wir dann die URL für die HTML-Mail, aber das ist echt nervig ;).

Viele Grüße
Mirko
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.785
539
Das Ergebnis der Abfrage ist auch anders, als wenn ich es zb im Management Studio aufrufe.
Hier ein Vergleich der ersten 20 Zeichen:
JTL: 25521625522401674707
DB: 0xFFD8FFE000104A4649

Woran könnte das liegen?

Die Bilddaten werden in der Tabelle binär abgespeichert.
Wenn man solche Daten in SSMS anzeigt, wird eine hexadezimale Darstellung dieser Daten angezeigt (d.h. immer zwei Stellen nach dem eileitenden 0x ist eine hexadezimaler Wert aus dem Berich 00 bis FF. In einer dezimalen Darstellung wäre das 0 bis 255. Irgendwie müssen die Daten ja angezeigt werden.Ein Anzeigeprogramm könnte sich auch für eine binäre Darstellung entscheiden (also 0 und 1) oder für jedes Byte könnte man das entsprechende ASCII Zeichen anzeigen.....aber eine hexadezimales Byte Array macht für diesen Fall am meisten Sinn und SMSS wählt halt diese Darstellung.
In der Datenbank sind aber nicht wirklich hexadezimale Werte gespeichert, deshalb macht der obige Vergleich keinen Sinn.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: MirkoWK

MirkoWK

Sehr aktives Mitglied
14. März 2022
793
287
Die Bilddaten werden in der Tabelle binär abgespeichert.
Wenn man solche Daten in SSMS anzeigt, wird eine hexadezimale Darstellung dieser Daten angezeigt (d.h. immer zwei Stellen nach dem eileitenden 0x ist eine hexadezimaler Wert aus dem Berich 00 bis 0F. In einer dezimalen Darstellung wäre das 0 bis 255. Irgendwie müssen die Daten ja angezeigt werden.Ein Anzeigeprogramm könnte sich auch für eine binäre Darstellung entscheiden (also 0 und 1) oder für jedes Byte könnte man das entsprechende ASCII Zeichen anzeigen.....aber eine hexadezimales Byte Array macht für diesen Fall am meisten Sinn und SMSS wählt halt diese Darstellung.
In der Datenbank sind aber nicht wirklich hexadezimale Werte gespeichert, deshalb macht der obige Vergleich keinen Sinn.
Das ist schonmal sehr aufschlussreich und erklärt schonmal den Unterschied der Anzeige :thumbsup:.

Hast du eine Idee dazu, wie man es dann auch anzeigen lassen könnte?
 

kelvin.

Sehr aktives Mitglied
15. Februar 2023
166
65
Frankfurt
Versuchs es mal mit der Query. Ist zwar keine schöne Lösung, aber so müsstest du den richtigen Wert bekommen.

Code:
{%- capture query -%}
SELECT
    (SELECT b.bBild AS '*' FOR XML PATH(''))
FROM
    tArtikel a
    LEFT JOIN tArtikelbildPlattform bp ON bp.kArtikel = a.kArtikel AND bp.kShop = 4 AND bp.nNr = 1
    LEFT JOIN tbild b ON b.kBild = bp.kBild
WHERE
    a.cArtNr = 'A00001426'
{%- endcapture -%}
 
  • Gefällt mir
Reaktionen: MirkoWK

MirkoWK

Sehr aktives Mitglied
14. März 2022
793
287
Versuchs es mal mit der Query. Ist zwar keine schöne Lösung, aber so müsstest du den richtigen Wert bekommen.

Code:
{%- capture query -%}
SELECT
    (SELECT b.bBild AS '*' FOR XML PATH(''))
FROM
    tArtikel a
    LEFT JOIN tArtikelbildPlattform bp ON bp.kArtikel = a.kArtikel AND bp.kShop = 4 AND bp.nNr = 1
    LEFT JOIN tbild b ON b.kBild = bp.kBild
WHERE
    a.cArtNr = 'A00001426'
{%- endcapture -%}
Hi,

also das funktioniert :thumbsup:.

Noch eine 2 generelle Anmerkungen:
Das Laden dauert etwas beim Testen, aber die Mail wird ja erst versendet, wenn geladen.
Die Qualität des Bildes ist leider nicht so gut, wenn es wie ins unserem Fall relativ klein ist (120x90px im HTML von 1600x1200px aus der Datenbank). Ich nenne es mal Treppeneffekt ;). (Das war nur in der Vorschau so )

Viele Grüße
Mirko
 
Zuletzt bearbeitet:

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.785
539
Die Daten
Super :thumbsup:
Noch eine 2 generelle Anmerkungen:
Das Laden dauert etwas beim Testen, aber die Mail wird ja erst versendet, wenn geladen.
Die Ladezeit ist von der Datenmenge in dem Feld abhängig. Vielleicht wärs ja auch mit dem Vorschaubild getan?

Die Qualität des Bildes ist leider nicht so gut, wenn es wie ins unserem Fall relativ klein ist (120x90px im HTML von 1600x1200px aus der Datenbank). Ich nenne es mal Treppeneffekt ;). (Das war nur in der Vorschau so )
Schickt ihr denn tatsächlich 1600x1200px große Bilder per Email raus?
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
793
287
Ähnliche Themen
Titel Forum Antworten Datum
Neu Gibt es eine Möglichkeit Copilot Studio mit der JTL-Datenbank zu verbinden? User helfen Usern - Fragen zu JTL-Wawi 0
keine Eazybusiness Datenbank beim öffnen von JTL WaWi JTL-Wawi 1.7 3
Neu JTL-Wawi startet nicht - Datenbank kaputt JTL-Wawi - Fehler und Bugs 5
Neu POS Server JTL Wawi 1.10.14.0 Einrichtung / Updates von JTL-POS 0
Neu JTL-Shop-Template Technik – optimiert für Performance & Conversion Templates für JTL-Shop 0
Neu GA4-Tracking für JTL-Shop 5 – sauberes E-Commerce & Kategoriepfade Plugins für JTL-Shop 0
Neu JTL-WMS + eazyShipping: Versandart & Gewicht automatisch beim Scan (Stücklisten) Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
JTL Wawi: Kompatibel mit WPC Product Bundles for WooCommerce JTL-Wawi 1.9 0
Neu Fehler beim Übertragen von Bildern JTL - Shopware Thumbnail Problem height width dürfen nicht leer sein Shopware-Connector 5
Neu Welche URLs/Ports werden für den JTL Worker benötigt? User helfen Usern - Fragen zu JTL-Wawi 8
Neu Artikelseiten 500 HTTP Fehler PayPal Plugin 2.1.0 JTL Shop 5.4.0 Plugins für JTL-Shop 4
JTL-Workflows >> Aufträge >> Ausgeliefert >> Abrechnungsposition für Versandkosten hinzufügen JTL-Wawi 1.10 3
Neu Rechnungsnummer an JTL-Shop übertragen Technische Fragen zu Plugins und Templates 0
Neu JTL Unicorn Otto Coupons User helfen Usern 0
Neu JTL POS: wie Position Übersicht neben dem Eingabebereich? User helfen Usern - Fragen zu JTL-Wawi 0
Beantwortet Einen 2. JTL-Shop5 mit dem gleichen PayPal-Account verbinden Einrichtung JTL-Shop5 7
Neu Lagerplätze und Bestände lassen sich teils nicht im WMS Lager importieren? Evtl. BUG --> JTL 1.10.10.4? User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL mit Shopify für Etsy anstatt JTL mit Unicorn2 - hat das jemand gemacht? Anbindung, bestehende Artikel mappen? Multishop? Shopify-Connector 2
Neu Shopify Basic mit JTL? Wie einrichten? Ist der JTL Guide noch aktuelle wegen PII Einschränkung? Shopify-Connector 2
Neu Kundenübernahme Shopware zu JTL Shop - Länderzuweisung User helfen Usern - Fragen zu JTL-Wawi 1
Neu Sunmi OS (V3/T3) – Installation von JTL-POS ohne Play Store Allgemeine Fragen zu JTL-POS 5
Neu B2B Preis für JTL Wawi -> Amazon aktivieren, nur wie? User helfen Usern - Fragen zu JTL-Wawi 4
Kunden im JTL Shop sichtbar ? Einrichtung JTL-Shop5 7
Neu Warenein- und -ausgang JTL Packtisch von Kundenwaren Arbeitsabläufe in JTL-Wawi 0
Neu Wann ist JTL WaWi / Connector mit Shopware 6.7 kompatibel? Shopware-Connector 4
Neu FBA Lagerbestand wird nicht in JTL angezeigt Amazon-Anbindung - Fehler und Bugs 2
Defekt-Artikel nach Retoure über WMS nicht mehr in JTL-Wawi sichtbar JTL-Wawi 1.10 2
Neu Rhewa 32 Waage mit JTL-WMS / JTL-Packtisch+ verbinden JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu Deprecated: JTL\Catalog\Hersteller: getter should be used to get kHersteller in /www/htdocs/w00dcf50/jtlshop/includes/src/MagicCompatibilityTrait.php Installation / Updates von JTL-Shop 9
In Diskussion Hilfe bei Verbindung von EC-Terminal (CCV A920) mit JTL-POS Allgemeine Fragen zu JTL-POS 3
Neu JTL Wawi braucht viel RAM und CPU wenn der Prozess lange läuft, ohne dass gearbeitet wird JTL-Wawi - Fehler und Bugs 2
JTL-Wawi 1.5.9.0 JTL-Wawi 1.6 2
Neu JTL Shop 5: ein Kundenkonto in der WAWI mit mehreren Konten im Webshop Allgemeine Fragen zu JTL-Shop 7
Neu Abgleich mit JTL-Wawi funktioniert nicht Allgemeine Fragen zu JTL-POS 0
JTL Ameise - Buchhaltungsdaten exportieren JTL-Wawi 1.9 1
Neu Server Error 500 nach dem Installieren von JTL Theme Editor Plugins für JTL-Shop 3
Neu JTL Pos Bonnummer nicht fortlaufend nach Anpassung des Bon-Nummernkreises JTL-POS - Fehler und Bugs 0
Neu Image POST for Article JTL FFN API Technische Fragen zu den JTL-Connectoren 0
Neu JTL auf LINUX Rechner User helfen Usern - Fragen zu JTL-Wawi 5
Neu Welcher Zahlungsanbieter mit JTL-POS Allgemeine Fragen zu JTL-POS 0
Neu JTL Connector Allgemeines zu den JTL-Connectoren 1
Neu Hilfe bei Anpassung der JTL-Rechnung (v1.9.4.6) – EK pro Stück × Menge als Summe je Position + Privateinlage-Hinweis Dienstleistung, Jobs und Ähnliches 1
Neu JTL WaWi Verfügbarkeits-Liste Arbeitsabläufe in JTL-Wawi 2
Kabelkonfektionierung mit JTL Konfigurator JTL-Wawi 1.10 0
JTL WAWI GUI Update von 1.9.8.0 auf 1.10.13.1 nicht möglich WAWI reagiert nicht JTL-Wawi 1.10 3
Klarna - Zahlung wird in JTL nicht automatisch gesetzt / "zu erfassen" im Klarna-Dashboard JTL-Wawi 1.10 3
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0

Ähnliche Themen