小编Div*_*wal的帖子

将 Image 数据类型转换为 Base64 并将 Base64 转换为 Image 数据类型

我在 MS SQL 2012 中使用数据类型“Image”来存储图像。

问题:我在 C# 中的 BASE64 字符串中有一个图像

/9j/4AAQSkZJRgABAQEASABIAAD/4SKhRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAeAAAAcgEyAAIAAAAUAAAAkIdpAAQAAAABAAAApAAAANAALcbAAAAnEAAtxsAAACcQQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykAMjAxNjowMjowNSAxNDo1MTo0MwAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFUKADAAQAAAABAAACWAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAACFrAAAAAAAAAEgAAAABAAAASAAAAAH/2
Run Code Online (Sandbox Code Playgroud)

我将其转换为 C# 中的 byte[],因为我需要将其保存到数据类型 IMAGE 的列中。像这样:

byte[] imageInByteArray =Convert.FromBase64String("MyImage");
Run Code Online (Sandbox Code Playgroud)

保存成功如下:

数据库中的byte[]数组数据 -

在此输入图像描述

现在我尝试检索图像并使用以下命令将其转换回 BASE64:

var imageA = results.Read<byte[]>().ToArray();
string imageB =Convert.ToBase64String(imageA);
Run Code Online (Sandbox Code Playgroud)

现在我得到这样的结果:

MHhGRkQ4RkZFMTAwNTg0NTc4Njk2NjAwMDA0RDREMDAyQTAwMDAwMDA4MDAwNDg3NjkwMDA0MDAwMDAwMDEwMDAwMDAzRTAxMTIw
Run Code Online (Sandbox Code Playgroud)

结果不是我所期待的,应该是这样的

/9j/4AAQSkZJRgABAQEASABIAAD/4SKhRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAeAAAAcgEyAAIAAAAUAAAAkIdpAAQAAAABAAAApAAAANAALcbAAAAnEAAtxsAAACcQQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykAMjAxNjowMjowNSAxNDo1MTo0MwAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFUKADAAQAAAABAAACWAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAACFrAAAAAAAAAEgAAAABAAAASAAAAAH/2
Run Code Online (Sandbox Code Playgroud)

c# sql-server base64 tobase64string

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

base64 ×1

c# ×1

sql-server ×1

tobase64string ×1