Изображение в бд - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, нужно преобразовать изображение в текст, с возможностью обратного преобразования. Грубо говоря, конвертировали изображение в текст, поместили в бд и ,при необходимости, конвертировали обратно в изображение. Bitmap подойдет? Заранее спасибо)

Решение задачи: «Изображение в бд»

textual
Листинг программы
using System;
using System.Data;
using System.Data.SQLite;
using System.IO;
using System.Linq;
using Dapper;
 
namespace ConsoleApp786
{
    internal class Program
    {
        public static readonly string DbFilePath = AppDomain.CurrentDomain.BaseDirectory + "TestDb.db";
 
        private static void Main()
        {
            InitializeDb();
 
            using (IDbConnection db = new SQLiteConnection($"Data Source={DbFilePath};Version=3;foreign_keys = ON;"))
            {
                var bytes = db.Query<byte[]>("SELECT Bytes FROM Images WHERE Id = @id", new {id = 1}).First();
                File.WriteAllBytes("out.jpeg", bytes);
            }
 
            Console.ReadKey(true);
        }
 
        private static void InitializeDb()
        {
            if (File.Exists(DbFilePath))
                File.Delete(DbFilePath);
 
            SQLiteConnection.CreateFile(DbFilePath);
 
            using (IDbConnection sqlConnection =
                new SQLiteConnection($"Data Source={DbFilePath};Version=3;foreign_keys = ON;"))
            {
                sqlConnection.ExecuteScalar<int>(
                    @"CREATE TABLE IF NOT EXISTS Images 
                      (
                        Id                                  integer primary key AUTOINCREMENT,
                        Bytes                                BLOB
                      )");
 
                var bytes = File.ReadAllBytes("Cosmos.jpeg");
                var sql = "INSERT INTO Images (Bytes) VALUES (@bytes)";
                var dynamicParameters = new DynamicParameters();
                dynamicParameters.Add("@bytes", bytes, DbType.Binary);
                sqlConnection.Execute(sql, dynamicParameters);
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5