如何将Base64字符串转换为Png图像Mvc5 C#?

时间:2017-05-29 08:13:22

标签: c# asp.net-mvc model-view-controller

我正在尝试将Base64编码的字符串转换为A Png图像,但代码显示参数的异常在Image.FromStream()上无效。调试后,我在MemoryStream对象上显示此错误" ReadTimeout =' ms.ReadTimeout'抛出类型' System.InvalidOperationException '" 。我被困了,是否有任何解决方案或替代方案将字符串转换为C#中的Png?

这是我的代码

string code = "string";
var databytes = Encoding.Unicode.GetBytes(code);
var base64 = Convert.ToBase64String(databytes);
Byte[] Bytes = Convert.FromBase64String(base64);
//Stream bytes
MemoryStream ms = new MemoryStream(Bytes, 0, Bytes.Length);
//convert image

Image newImage = Image.FromStream(ms);
newImage.Save("~/Content/");    

2 个答案:

答案 0 :(得分:1)

试试这个:

byte[] bytes = Convert.FromBase64String(base64);
Image image;
using (MemoryStream ms = new MemoryStream(bytes))
{
    image = Image.FromStream(ms);
}

答案 1 :(得分:1)

您可以通过以下方式将Base64字符串转换为png:

    byte[] bytes = Convert.FromBase64String(base64);

    Image image;
    using (MemoryStream ms = new MemoryStream(bytes))
    {
        image = Image.FromStream(ms);
        image.Save("~/Content/", System.Drawing.Imaging.ImageFormat.Png);
    }