我正在尝试将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/");
答案 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);
}