首页 > 解决方案 > 将八位字节流base64字符串转换为图像

问题描述

我想将application/octet-streambase 64 字符串转换为 c# 中的图像。请帮助我进行此转换。

这是字符串: ERQVHykzPkpWY3F/jp2tvMnU3ubs8fX5+/z8/Pr39PDq5d/Y0cvCu7Oro5uTjIR9dm9pY11ZVFBMSUZEQT47OTY0MjAuLSopJyUjIR8eHBsZGRcWFRUUExMSEREQDw8ODg4ODg0NDAwLCwoKCgoKCwsLDA0NDQ4ODg4ODw8QERI=

标签: c#imagebase64

解决方案


您的 base64 字符串包含一个编码的二进制文件。MIME 类型application/octet-stream用于二进制文件。您将只能转换image/octet-streamMIME 类型文件的 base64 字符串。

话虽如此,您可以base64将 MIME 类型文件的字符串image/octet-stream转换为字节数组,然后使用 aMemoryStream从中合成图像。

using System.Drawing;

public static Image LoadBase64(string base64)
{
    byte[] bytes = Convert.FromBase64String(base64);
    MemoryStream ms = new MemoryStream(bytes)
    Image image = Image.FromStream(ms);
    
    return image;
}

用法

Image myImage = LoadBase64(base64string);

选择

您可以使用实现ConvertFrom()方法的ImageConverter类。它允许您将指定的对象转换为图像。

public Image byteArrayToImage(byte[] byteArray)
{
    System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
    Image image = (Image)converter.ConvertFrom(byteArray);

    return image;
}

推荐阅读