C# 将字符串从SQL转换为图像

C# 将字符串从SQL转换为图像,c#,sql,asp.net,image,C#,Sql,Asp.net,Image,在我的sql表中,我有一个表示图像的varchar。 字符串如下所示: 255 216 255 224 0 16 74 70 73 70 0 1 1 1 0 96 0 96 0 0 255 219 0 67 ... 另存为.txt,大小约为20KB 第一个问题:这是什么类型的字符串?我在网上找不到任何东西。看起来像RGB值,因为255是其中的最大值 如何使用C#(准确地说是ASP.net MVC)将此字符串格式再次转换为实际图像 多谢各位 更新 与开发商交谈: 图像从Active Direct

在我的sql表中,我有一个表示图像的varchar。 字符串如下所示:

255 216 255 224 0 16 74 70 73 70 0 1 1 1 0 96 0 96 0 0 255 219 0 67 ...
另存为.txt,大小约为20KB

第一个问题:这是什么类型的字符串?我在网上找不到任何东西。看起来像RGB值,因为255是其中的最大值

如何使用C#(准确地说是ASP.net MVC)将此字符串格式再次转换为实际图像

多谢各位

更新

与开发商交谈:


图像从Active Directory thumbnailPhoto属性中提取,并作为字符串存储。也许最好是转换源代码

您需要知道编码。例如,我是如何将二进制字符串解码为tiff图像的:

    private static BlockUIContainer ConvertBinaryToImageUIContainer(string binary)
    {
        byte[] binaryData = Convert.FromBase64String(binary);
        BitmapImage bitmapImage = new BitmapImage();
        bitmapImage.BeginInit();
        bitmapImage.StreamSource = new MemoryStream(binaryData);
        bitmapImage.EndInit();
        BlockUIContainer container = new BlockUIContainer();
        container.Child = new System.Windows.Controls.Image { Source = bitmapImage };
        return container;
    }

获取二进制字符串并根据编码将其转换为
字节
。在我的例子中,它是一个
Base64String
。创建一个新图像并创建一个
memorystream
作为源。一、 或者,将BlockUIContainer中的mine设置为在WPF应用程序中显示,但您可以按照自己的意愿使用
bitmapImage
byte[]
数据。希望这能有所帮助。

也许你应该问问表的所有者,在你处理这些数据的同时,问他们为什么以万圣之名将二进制数据存储在一个基于文本的字段中。(SQL多年来一直支持二进制数据)查看原始数据而不了解其表示的内容是无用的。首先,您至少应该知道图像的格式。是JPG吗?是巴布亚新几内亚吗?是GIF吗?每种格式都有不同的标题和存储不同的像素信息。每种格式的读取都不同。是否可以将其读取到字节数组中?然后使用Image类从中创建图像?如果可能的话,查找保存文件的代码,然后向后执行。