1

Web サービスからデータを取得する Web サイトに取り組んでいます。当社の Android 開発者から、このような Base64 文字列が提供されました。

iVBORw0KGgoAAAANSUhEUgAAAAAAAAB4CAYAAAB1ovlvAAAABHNCSVQICAgIf. . . . . . . . . .

この文字列をデータベースに保存しています。これを画像に変換する方法を知りたいです。

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

Web ページに表示している場合 (タグの 1 つとして asp.net を追加したので、これは Web 用であると想定しています)、ごまかして次のことを行うことができます。

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

これは、画像が png であると想定しています。それ以外の場合は、image/jpg などに変更します。

欠点は、これにより画像のキャッシュが停止することです。したがって、実際には@Sachinによるソリューションがより実用的です。この方法は、何らかの理由でファイルの保存を避けたい場合 (または単に「今すぐ動作させる必要がある」という解決策が必要な場合) に最適です。

于 2013-04-17T12:03:14.373 に答える