[Gelöst] Bilder per XML-Port exportieren bzw. importieren

Bild Microsoft Dynamics NAV 2009 (aka "NAV 6")
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie

Bitte unbedingt angeben, ob sich eure Frage auf den RoleTailored-Client (RTC) oder den Classic-Client (CC) bezieht!

[Gelöst] Bilder per XML-Port exportieren bzw. importieren

Beitragvon Steev » 5. August 2009 10:14

Guten Morgen liebe Forengemeinde,

ich wieder mal eine Frage:

Ich habe da eine Tabelle in der einige Daten aber unter anderem auch Bilder enthalten sind. Nun soll diese Tabelle Exportiert und Importiert werden können, und zwar nach XML.
Nun gibt es aber die Bilder, die als BLOB vorliegen. Mein Ansatz war folgender:
1. Erstellen eines Text-Tags (Text-Typ BigText)
2. Ăśber einen Out- bzw. In-Stream die Daten aus dem Blob in den BigText speichern

Leider werden dann aber nicht, wie erwartet eine gangze Reihe von Hyroglyphen in die XML-Datei geschrieben sondern einfach nur "BMµ«h" oder andere, winzige Zeichenketten. Was kann das sein, bzw. was muss ich tun, damit es funktioniert?

PS:
Calcfields usw. habe ich natĂĽrlich gemacht...
Benutzeravatar
Steev
 
Beiträge: 109
Registriert: 11. Januar 2007 17:12
Wohnort: Dernbach

Re: Bilder per XML-Port exportieren bzw. importieren

Beitragvon Timo Lässer » 5. August 2009 10:28

Du könntest den Inhalt des BLOB-Feldes per BASE64 kodieren (so wie es jedes Mail-Programm mit Dateianhängen macht).
Auf mibuso hat mal jemand eine BASE64-Kodierung/-Dekodierung geschrieben, welche ich in meiner Tools-Sammlung aufgenommen habe:
  • EncodeDecodeManagement
    • Base64EncodeStream
      Diese Funktion erzeugt eine Base64-Zeichenfolge (als Stream) für den übergebenden (Binär-)Stream
    • Base64DecodeStream
      Diese Funktion erzeugt einen (Binär-)Stream für den übergebenen (Base64-)Stream
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Bilder per XML-Port exportieren bzw. importieren

Beitragvon Steev » 5. August 2009 10:32

Ich probiere es sofort mal aus,

dankeschön für deine Antwort
Benutzeravatar
Steev
 
Beiträge: 109
Registriert: 11. Januar 2007 17:12
Wohnort: Dernbach

Re: Bilder per XML-Port exportieren bzw. importieren

Beitragvon Steev » 5. August 2009 11:14

Hm,

jetzt habe ich zwar Daten, aber weit mehr als mir lieb sind. FĂĽr einen Datensatz mit einem (recht kleinem) Bild wird eine XML-Datei erstellt die 96 MB groĂź ist.
Ich probiere mal einige andere Sachen aus um das ganze etwas kleiner zu bekommen.

Trotzdem Dankeschön erstmal
Benutzeravatar
Steev
 
Beiträge: 109
Registriert: 11. Januar 2007 17:12
Wohnort: Dernbach

Re: Bilder per XML-Port exportieren bzw. importieren

Beitragvon Timo Lässer » 5. August 2009 11:42

Steev hat geschrieben:jetzt habe ich zwar Daten, aber weit mehr als mir lieb sind. FĂĽr einen Datensatz mit einem (recht kleinem) Bild wird eine XML-Datei erstellt die 96 MB groĂź ist.

Wie groß/lang die BASE64-Ausgabe wird hängt nicht an den Bildabmessungen, sondern an der Datenmenge. Immerhin muss für jedes Bit eine ASCII-Ersetzung aus einem stark eingeschränkten Zeichensatz (nur 64 gültige Zeichen) gefunden werden.

Ich habe mal kurz den C/AL-Code ĂĽberflogen:
3 Bytes (24 Bits) werden auf 4 ASCII-Zeichen verteilt (jedes Zeichen kann 2^6 Bits aufnehmen). (4 x 6 Bits = 3 x 8 Bits)
Als Faustformel würde ich also annehmen, dass die Ausgabe im BASE64-Format um genau 1/3 größer wird.

Vergleiche doch einfach mal die Dateigröße des originalen Bildes (Bild.bmp) mit der Dateigröße des reinen BASE64-Resultat (Bild.txt).

Fazit: Ein kleines Bitmap mit einer sehr hohen DPI-Zahl stellt eine relativ groĂźe Datei dar. Ergo mĂĽssen sehr viele Daten umgerechnet werden.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Bilder per XML-Port exportieren bzw. importieren

Beitragvon Steev » 5. August 2009 12:05

Genau das war es das kleine Bild hatte eine Auflößung von 400 (!) dpi.
Benutzeravatar
Steev
 
Beiträge: 109
Registriert: 11. Januar 2007 17:12
Wohnort: Dernbach


ZurĂĽck zu NAV 2009

Wer ist online?

Mitglieder in diesem Forum: Unbekannter Bot und 1 Gast