base64文字列をバイト配列に変換しようとすると例外が発生します。画像をバイト配列に変換してからbase64文字列に変換し、暗号化してファイルに保存しています。次に、base64文字列をMemoryStreamのバイト配列に変換し直して、イメージを再作成しようとしています。ここでFormatExceptionが発生しています:
byte[] imgBytes = Convert.FromBase64String(str);
2つの主要な機能の完全なコードは次のとおりです。
public string ImageToString(Image img)
{
using (MemoryStream ms = new MemoryStream())
{
img.Save(ms, ImageFormat.Jpeg);
return Convert.ToBase64String(ms.ToArray());
}
}
public Image StringToImage(String str)
{
int lent = str.Length;
byte[] imgBytes = Convert.FromBase64String(str);
MemoryStream ms = new MemoryStream(imgBytes, 0, imgBytes.Length);
ms.Write(imgBytes, 0, imgBytes.Length);
return Image.FromStream(ms, true);
}
これが、変換しようとしているbase64文字列の最初と最後です。
G>/9j/4AAQSkZJRgABAQEAYABgAAD .... Uh+8fxpT/B9KAP/2Q==
どんなアイデアでも大歓迎です!