Из статьи вы узнаете, как сохранять и затем декодировать изображения из base64. Также будет показано, как сохранять изображения в Базу данных в текстовом виде и получать их обратно. Код на языке C#.
Для преобразования картинки в текстовую кодировку base64 на C# используется оператор:
1 |
string base64 = Convert.ToBase64String(File.ReadAllBytes("image.jpg")); |
Где вместо «image.jpg» указывается путь к изображению и его имя.
Для раскодирования изображения из base64 и последующего сохранения его на компьютер используйте код:
1 2 3 |
var image = Image.FromStream(new MemoryStream(Convert.FromBase64String(base64))); image.Save("new.jpg", ImageFormat.Jpeg); |
«new.jpg» — путь и имя сохраняемого файла.
Пример данных в кодировке base64 можно увидеть ниже.
Для сохранения изображения в Базу данных можно использовать тип поля в таблице БД nvarchar(max) [для MS SQL Server].
Запись и получение данных происходит с помощью обычных запросов к БД:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=TestDataBase;Integrated Security=true;"; SqlConnection sqlConnection = new SqlConnection(connectionString); sqlConnection.Open(); // запись в БД string sql = "INSERT INTO Table1 (t_image) VALUES ('" + base64 + "')"; SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection); sqlCommand.ExecuteNonQuery(); // чтение из БД sql = "SELECT t_image FROM Table1 WHERE t_id = 1"; sqlCommand = new SqlCommand(sql, sqlConnection); string base64FromDataBase = sqlCommand.ExecuteScalar().ToString(); sqlConnection.Close(); |
Кодирование/декодирование изображения из base64 и сохранение на диск рассмотрено выше.
Видеоурок по теме:
Поделиться в соц. сетях:
Спасибо. Любопытненько.