Web サービスからデータを取得する Web サイトに取り組んでいます。当社の Android 開発者から、このような Base64 文字列が提供されました。
iVBORw0KGgoAAAANSUhEUgAAAAAAAAB4CAYAAAB1ovlvAAAABHNCSVQICAgIf. . . . . . . . . .
この文字列をデータベースに保存しています。これを画像に変換する方法を知りたいです。
ここにあなたのための解決策があります
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;
}
Web ページに表示している場合 (タグの 1 つとして asp.net を追加したので、これは Web 用であると想定しています)、ごまかして次のことを行うことができます。
<img src="data:image/png;base64,<%=base64String%>"/>
これは、画像が png であると想定しています。それ以外の場合は、image/jpg などに変更します。
欠点は、これにより画像のキャッシュが停止することです。したがって、実際には@Sachinによるソリューションがより実用的です。この方法は、何らかの理由でファイルの保存を避けたい場合 (または単に「今すぐ動作させる必要がある」という解決策が必要な場合) に最適です。