1

我正在开发一个从 Web 服务获取数据的网站。我们的 Android 开发人员给了我一个这样的 Base64 字符串。

iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAABHNCSVQICAgIf。. . . . . . . . .

我正在将此字符串保存到我的数据库中。我想知道如何将其转换为图像。

4

2 回答 2

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;
}
于 2013-04-17T11:52:02.150 回答
2

如果您在网页中显示它(您将 asp.net 添加为标签之一,所以我假设这是针对网络的),您可以作弊并执行以下操作:

<img src="data:image/png;base64,<%=base64String%>"/>

这假设图像是 png,否则将其更改为 image/jpg 或其他。

缺点是这会阻止图像被缓存。所以在实践中@Sachin 的解决方案更实用。如果您想避免出于任何原因保存文件(或者只是想要一个“我现在需要它来工作”的解决方案),这种方式就很简洁了

于 2013-04-17T12:03:14.373 回答