데이터베이스 Blob에서 이미지를 효과적으로 저장하고 검색하는 방법은 무엇입니까?
Nov 16, 2024 pm 06:28 PM데이터베이스 Blob에 이미지를 저장하고 표시하기 위해 검색
문제
데이터베이스에서 이미지를 저장하고 검색하는 것은 프로그래밍의 일반적인 작업입니다. 간단해 보일 수도 있지만 코드가 올바르게 구현되지 않으면 문제가 발생할 수 있습니다. 이 경우 사용자는 이미지를 데이터베이스에 저장하고 Picturebox 컨트롤에 표시할 때 문제가 발생했습니다.
해결책
문제를 해결하려면 사용자의 코드를 검사하고 잠재적인 문제를 식별해 보겠습니다.
다음에 저장 데이터베이스:
ImageStream = New System.IO.MemoryStream PbPicture.Image.Save(ImageStream, System.Drawing.Imaging.ImageFormat.Jpeg) ReDim rawdata(CInt(ImageStream.Length - 1))
코드가 올바른 크기로 원시 데이터를 초기화하지 못했습니다. 이미지 바이트를 올바르게 저장하려면 이미지 스트림의 길이와 일치하도록 크기를 다시 조정해야 합니다.
ReDim rawdata(CInt(ImageStream.Length))
데이터베이스에서 검색 중:
Dim ad As New System.IO.MemoryStream(100000) Dim im As Image = Image.FromStream(ad) * "error occurs here" (see below)
오류 광고 메모리 스트림의 위치가 올바르지 않거나 용량이 부족하기 때문에 발생합니다. 다음 코드는 이 문제를 해결합니다.
ad.Position = 0 Dim im As Image = Image.FromStream(ad)
데이터베이스에 이미지를 저장하기 위한 작업 코드
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 mstream.Close() sql = "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
데이터베이스에서 이미지를 검색하기 위한 작업 코드
Dim adapter As New MySqlDataAdapter adapter.SelectCommand = Cmd data = New DataTable adapter = New MySqlDataAdapter("select picture from [yourtable]", conn) 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()
위 내용은 데이터베이스 Blob에서 이미지를 효과적으로 저장하고 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?
