ホームページ > データベース > mysql チュートリアル > MySQL データベースにイメージを効率的に保存および取得するにはどうすればよいですか?

MySQL データベースにイメージを効率的に保存および取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-29 18:15:11
オリジナル
231 人が閲覧しました

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

データベースへの画像の保存と取得

はじめに

この記事では、データベースへの画像の保存と取得の課題について説明します。提供された最初のコードで問題が発生したため、より詳細な調査と正常な解決が求められました。

データベースへの画像の保存

コード スニペットは、PictureBox (PbPicture) から画像をデータベースに保存する方法を示しています。 MySQL データベース:

    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
ログイン後にコピー

データベースからのイメージの取得

からイメージを取得するにはデータベースを取得して PictureBox (PbPicture) に表示するには、次の手順に従います。

    Dim adapter As New MySqlDataAdapter
    adapter.SelectCommand = Cmd

    data = New DataTable

    adapter = New MySqlDataAdapter("select picture from [yourtable]", conn)
ログイン後にコピー

注: 1 つの PictureBox のみが 1 つの画像を表示できるため、クエリが 1 つのレコードのみを返すようにしてください。

    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()
ログイン後にコピー

以上がMySQL データベースにイメージを効率的に保存および取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート