julian94
Goto Top

SQL Bild Hex in Datei konvertieren

Moin moin allerseits,

ich muss aus unserer MSSQL Datenbank Belege wieder als Datei lesbar machen. Diese Belege werden üblicherweise als jpg hochgeladen und in der Datenbank gespeichert. Leider weiß ich nicht ob die Daten vorher verschlüsselt werden oder nicht, da diese aus dem Sage gefüllt werden. Die SQL Zeile sieht so aus: 0xFFD8FFE11FFE4578696600004D4D002A ...

Der String ist insgesamt 44.000 Zeichen lang, weiß jemand wie ich diesen String wieder als Bild auf einem Dateisystem zur Verfügung stellen kann?

Danke und schönen Freitag allerseits.

Julian.

Content-ID: 371094

Url: https://administrator.de/forum/sql-bild-hex-in-datei-konvertieren-371094.html

Ausgedruckt am: 26.12.2024 um 15:12 Uhr

SlainteMhath
SlainteMhath 13.04.2018 um 10:38:52 Uhr
Goto Top
Moin,

wie ist denn der Datentyp von dem "JPG-Feld"? Falls Blob => Inhalt direkt auf Platte speichern und normal als JPG öffnen. Falls irgendwas anderes: Sage fragen.

lg,
Slainte
Julian94
Julian94 13.04.2018 um 11:02:03 Uhr
Goto Top
Datentyp ist "image", einfach als JPG öffnen hilft leider nicht..
135950
Lösung 135950 13.04.2018 aktualisiert um 12:29:14 Uhr
Goto Top
Powershell
Function Convert-HexToByteArray {

    [cmdletbinding()]

    param(
        [parameter(Mandatory=$true)]
        [String]
        $HexString
    )

    $Bytes = [byte[]]::new($HexString.Length / 2)

    For($i=0; $i -lt $HexString.Length; $i+=2){
        $Bytes[$i/2] = [convert]::ToByte($HexString.Substring($i, 2), 16)
    }

    $Bytes
}
[IO.File]::WriteAllBytes("c:\Pfad\Bild.jpg", (Convert-HextoByteArray "HIER_DEIN_HEXSTRING_OHNE_DAS_0x_AM_ANFANG"))  
Letzte Zeile Parameter anpassen.

Gruß m.