我想在 C# 中将 application/octet-stream
base 64 字符串转换为图像。请帮我完成这个转换。
这是字符串:
ERQVHykzPkpWY3F/jp2tvMnU3ubs8fX5+/z8/Pr39PDq5d/Y0cvCu7Oro5uTjIR9dm9pY11ZVFBMSUZEQT47OTY0MjAuLSopJyUjIR8eHBsZGRcWFRUUExMSEREQDw8ODg4ODg0NDAwLCwoKCgoKCwsLDA0NDQ4ODg4ODw8QERI=
答案 0 :(得分:2)
您的 base64 字符串包含一个编码的二进制文件。二进制文件的 MIME 类型为 application/octet-stream
。您将只能转换 image/octet-stream
MIME 类型文件的 base64 字符串。
话虽如此,您可以将 base64
MIME 类型文件的 image/octet-stream
字符串转换为字节数组,然后使用 MemoryStream
从中合成图像。
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);
替代方案
您可以使用实现 ImageConverter 方法的 ConvertFrom() 类。它允许您将指定的对象转换为图像。
public Image byteArrayToImage(byte[] byteArray)
{
System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
Image image = (Image)converter.ConvertFrom(byteArray);
return image;
}