Heim > Datenbank > MySQL-Tutorial > Wie kann ich Bilder effizient in einer MySQL-Datenbank speichern und abrufen?

Wie kann ich Bilder effizient in einer MySQL-Datenbank speichern und abrufen?

Patricia Arquette
Freigeben: 2024-11-29 18:15:11
Original
221 Leute haben es durchsucht

How to Efficiently Store and Retrieve Images in a MySQL Database?

Bilder in einer Datenbank speichern und abrufen

Einführung

Dieser Artikel befasst sich mit der Herausforderung beim Speichern und Abrufen von Bildern aus einer Datenbank. Der ursprünglich bereitgestellte Code stieß auf Probleme, die zu einer eingehenderen Untersuchung und einer erfolgreichen Lösung führten.

Bilder in der Datenbank speichern

Der Codeausschnitt zeigt, wie ein Bild aus einer PictureBox (PbPicture) in einer gespeichert wird MySQL-Datenbank:

    Dim filename As String = txtName.Text + ".jpg"
    Dim FileSize As UInt32

    conn.Close()

    Dim mstream As New System.IO.MemoryStream()
    PbPicture.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)
    Dim arrImage() As Byte = mstream.GetBuffer()

    FileSize = mstream.Length
    Dim sqlcmd As New MySqlCommand
    Dim sql As String = "insert into [your table]  (picture, filename, filesize) " & _
                           "VALUES(@File, @FileName, @FileSize)"

    Try
        conn.Open()
        With sqlcmd
            .CommandText = sql
            .Connection = conn
            .Parameters.AddWithValue("@FileName", filename)
            .Parameters.AddWithValue("@FileSize", FileSize)
            .Parameters.AddWithValue("@File", arrImage)

            .ExecuteNonQuery()
        End With
    Catch ex As Exception
        MsgBox(ex.Message)
    Finally
        conn.Close()
    End Try
Nach dem Login kopieren

Bilder aus der Datenbank abrufen

Um ein Bild aus der Datenbank abzurufen Datenbank erstellen und in einer PictureBox (PbPicture) anzeigen möchten, führen Sie die folgenden Schritte aus:

    Dim adapter As New MySqlDataAdapter
    adapter.SelectCommand = Cmd

    data = New DataTable

    adapter = New MySqlDataAdapter("select picture from [yourtable]", conn)
Nach dem Login kopieren

Hinweis: Stellen Sie sicher, dass die Abfrage nur einen Datensatz zurückgibt, da nur eine PictureBox ein einzelnes Bild gleichzeitig anzeigen kann Zeit.

    commandbuild = New MySqlCommandBuilder(adapter)
    adapter.Fill(data)

    Dim lb() As Byte = data.Rows(0).Item("picture")
    Dim lstr As New System.IO.MemoryStream(lb)
    PbPicture.Image = Image.FromStream(lstr)
    PbPicture.SizeMode = PictureBoxSizeMode.StretchImage
    lstr.Close()
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Bilder effizient in einer MySQL-Datenbank speichern und abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage