我正在开发一个从 Web 服务获取数据的网站。我们的 Android 开发人员给了我一个这样的 Base64 字符串。
iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAABHNCSVQICAgIf。. . . . . . . . .
我正在将此字符串保存到我的数据库中。我想知道如何将其转换为图像。
这里是你的解决方案
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;
}
如果您在网页中显示它(您将 asp.net 添加为标签之一,所以我假设这是针对网络的),您可以作弊并执行以下操作:
<img src="data:image/png;base64,<%=base64String%>"/>
这假设图像是 png,否则将其更改为 image/jpg 或其他。
缺点是这会阻止图像被缓存。所以在实践中@Sachin 的解决方案更实用。如果您想避免出于任何原因保存文件(或者只是想要一个“我现在需要它来工作”的解决方案),这种方式就很简洁了