我正在开发一个从网络服务获取数据的网站。我们的Android开发人员给了我一个像这样的Base64字符串。
iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAABHNCSVQICAgIf。 。 。 。 。 。 。 。 。 。
我将此字符串保存到我的数据库中。我想知道如何将其转换为图像。
答案 0 :(得分:5)
以下是适合您的解决方案
public Image Base64ToImage(string base64String)
{
// Convert Base64 String to byte[]
byte[] imageBytes = Convert.FromBase64String(base64String);
MemoryStream ms = new MemoryStream(imageBytes, 0,imageBytes.Length);
// Convert byte[] to Image
ms.Write(imageBytes, 0, imageBytes.Length);
Image image = Image.FromStream(ms, true);
return image;
}
答案 1 :(得分:2)
如果你在网页上显示它(你添加了asp.net作为你的标签之一,所以我假设这是用于网页)你可以作弊并这样做:
<img src="data:image/png;base64,<%=base64String%>"/>
这假设图像是png,否则将其更改为image / jpg或其他任何内容。
缺点是这会停止缓存图像。所以在实践中,@ Sachin的解决方案更实用。如果你想避免出于任何原因保存文件(或者只是想要'我现在需要它来解决'),这种方式很简洁。