> 데이터 베이스 > 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)
로그인 후 복사

참고: 하나의 PictureBox만 단일 이미지를 표시할 수 있으므로 쿼리가 하나의 레코드만 반환하는지 확인하세요. 한 번에.

    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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿