Jump to content

Frage

Hallo,

ich speicher Bilder als BLOB Datei in einer Datenbank dann lese ich sie wieder aus und stecke sie in ein Bytearray, danach wandle ich die Bilder wieder in Images um.

Um die Bilder zu speichern benutze ich die Save Methode:  images(i).Save(path & "\img\" & Dateiname(i))

Ich erhalte die Fehlermeldung: Allgemeiner Fehler in GDI+

es wird auch eine Bilddatei erzeugt nur ist diese leer.

 

Bitte um Rat

 

Danke :-)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

5 Antworten auf diese Frage

Empfohlene Beiträge

  • 0

Hallo danke für die Antwort

das ganze ist in Visual Basic geschrieben

wandlet die Bytes in ein Image um : images(counter) = byteArrayToImage(mybytearray)

die Funktion die die Bytes umwandelt:

Public Function byteArrayToImage(ByVal byteArrayIn As Byte()) As Image
        Using mStream As New MemoryStream(byteArrayIn)
            Return Image.FromStream(mStream)
        End Using
    End Function

versucht die Bilder zu speichern :  For i As Integer = 0 To UBound(images)

                                                                 images(i).Save(path & "\img\" & Dateiname(i))
                                                            Next

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
  • 0

Mal davon abgesehen, dass ich es immer noch für eine saublöde Idee halte, Bilder als BLOB in einer Datenbank zu speichern* (Ausnahme vllt. sowas wie MSSQL Server mit seinen FileTables):

Probier mal das Return aus dem Using zu nehmen:

 

Public Function byteArrayToImage(ByVal byteArrayIn As Byte()) As Image
        Dim img as Image
		Using mStream As New MemoryStream(byteArrayIn)
            img = Image.FromStream(mStream)
        End Using
		Return img
End Function 

Hoffe, die Syntax stimmt - Letztes Mal was mit VB(A) gemacht hatte ich in den 90ern :)

 

*Ich betreue ein Altsystem, in dem GB-weise Daten in eine DB gestopft werden - Syncronisation/Backup/Restore is relativ eklig..

bearbeitet von RipperFox

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
  • 0

Hallo danke für die Antwort ,

es hat aber nicht geholfen, geholfen hat die BLOB in einen Memorystream zu packen und dann in eine Bitmap:  

images(counter) = New Bitmap(New MemoryStream(mybytearray))

die Funktion die ich vorher benutzt habe um die BLOB datei umzuwandeln kann ich so weg lassen nur bekomme ich jetzt diese Meldung wenn ich versuche die Bilder zu speichern :

das angegebene Pfadformat wird nicht unterstützt

der Fehler tritt an der Stelle auf an der ich die Images speichern möchte

  images(i).Save(path & "\img\" & Dateiname(i))

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Gast
Du kommentierst als Gast. Wenn du bereits einen Account hast kannst du dich hier anmelden.
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoticons maximum are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


×