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-Key: 371094

Url: https://administrator.de/contentid/371094

Printed on: April 26, 2024 at 09:04 o'clock

Member: SlainteMhath
SlainteMhath Apr 13, 2018 at 08:38:52 (UTC)
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
Member: Julian94
Julian94 Apr 13, 2018 at 09:02:03 (UTC)
Goto Top
Datentyp ist "image", einfach als JPG öffnen hilft leider nicht..
Mitglied: 135950
Solution 135950 Apr 13, 2018 updated at 10:29:14 (UTC)
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.