Hallo zusammen,
ich möchte eine Datei, welche ich als BLOB in einer Datenbank gespeichert habe wieder auslesen und gleich auf dem Bildschirm anzeigen ohne diese zwischen zu speichern.
Das auslesen der Datei aus der Datenbank mache ich wie folgt:
Hat jemand eine Idee wie ich das hinbekomme...?
Danke
ich möchte eine Datei, welche ich als BLOB in einer Datenbank gespeichert habe wieder auslesen und gleich auf dem Bildschirm anzeigen ohne diese zwischen zu speichern.
Das auslesen der Datei aus der Datenbank mache ich wie folgt:
Code:
Dim conn As New Data.SqlClient.SqlConnection(PstrConnString) Dim cmd As New Data.SqlClient.SqlCommand Dim myData As Data.SqlClient.SqlDataReader Dim SQL As String Dim RawData() As Byte Dim FileSize As Long SQL = "SELECT TOP 1 Name, Extension, FileSize, MyFile FROM Binaer ORDER By IDBin DESC" Try conn.Open() cmd.Connection = conn cmd.CommandText = SQL myData = cmd.ExecuteReader If Not myData.HasRows Then Throw New Exception("Es sind keine BLOBs zum speichern vorhanden") myData.Read() FileSize = myData.GetInt32(myData.GetOrdinal("FileSize")) RawData = New Byte(CType(FileSize, Integer)) {} myData.GetBytes(myData.GetOrdinal("MyFile"), 0, RawData, 0, CType(FileSize, Integer)) 'hier schreibe ich die Datei noch auf die Festplatte 'ich möchte aber an dieser Stelle die Datei direkt auf dem Bildschirm anzeigen Using Fs As New IO.FileStream("E:\" & myData!Name.ToString, IO.FileMode.OpenOrCreate, IO.FileAccess.Write) Fs.Write(RawData, 0, CType(FileSize, Integer)) Fs.Close() End Using MessageBox.Show("Datei vollständig gespeichert!", "Erfolgreich!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) myData.Close() conn.Close() Catch ex As Exception MessageBox.Show("Es ist ein Fehler aufgetreten: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try
Danke
Comment