> 데이터 베이스 > MySQL 튜토리얼 > C#을 사용하여 데이터베이스에 이미지를 어떻게 저장할 수 있나요?

C#을 사용하여 데이터베이스에 이미지를 어떻게 저장할 수 있나요?

Susan Sarandon
풀어 주다: 2025-01-04 18:13:41
원래의
410명이 탐색했습니다.

How Can I Store Images in a Database Using C#?

C#을 사용하여 데이터베이스에 이미지 저장

사용자 이미지를 데이터베이스에 저장하는 것은 웹 개발의 일반적인 작업입니다. C#에서는 이에 접근하는 몇 가지 방법이 있습니다. 한 가지 방법은 이미지를 바이트 배열로 변환하고 이를 바이트 유형의 데이터베이스 필드에 저장하는 것입니다.

해결책:

이 접근 방식을 구현하려면 다음을 사용할 수 있습니다. 다음 방법:

using System.Drawing;
using System.Drawing.Imaging;
using System.Data;

public static void PerisitImage(string path, IDbConnection connection)
{
    using (var command = connection.CreateCommand ())
    {
        Image img = Image.FromFile (path);
        MemoryStream tmpStream = new MemoryStream();
        img.Save (tmpStream, ImageFormat.Png); // change to other format
        tmpStream.Seek (0, SeekOrigin.Begin);
        byte[] imgBytes = new byte[MAX_IMG_SIZE];
        tmpStream.Read (imgBytes, 0, MAX_IMG_SIZE);

        command.CommandText = "INSERT INTO images(payload) VALUES (:payload)";
        IDataParameter par = command.CreateParameter();
        par.ParameterName = "payload";
        par.DbType = DbType.Binary;
        par.Value = imgBytes;
        command.Parameters.Add(par);
        command.ExecuteNonQuery ();
    }
}
로그인 후 복사

이 방법에서는:

  1. Image 클래스는 파일에서 이미지를 로드하는 데 사용됩니다.
  2. MemoryStream은 이미지를 메모리에 저장하는 데 사용됩니다.
  3. Save 메서드는 이미지를 PNG 형식으로 MemoryStream에 쓰는 데 사용됩니다. .
  4. Seek 메소드는 MemoryStream의 위치를 ​​처음으로 재설정하는 데 사용됩니다.
  5. Read 메소드는 이미지 바이트를 읽어들이는 데 사용됩니다. 바이트 배열.
  6. DbType.Binary 유형의 IDataParameter는 바이트 배열을 데이터베이스에 전달하는 데 사용됩니다.
  7. CommandText는 이미지를 데이터베이스에 삽입하기 위한 SQL 쿼리를 지정하는 데 사용됩니다. .
  8. ExecuteNonQuery 메소드를 사용하여 쿼리를 실행합니다.

위 내용은 C#을 사용하여 데이터베이스에 이미지를 어떻게 저장할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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