Base64 でエンコードされた文字列から .png 画像ファイルを書き込む必要があるアプリに取り組んでいます。これを行うために、次のコードがあります。
byte[] tempBytes = Convert.FromBase64String(base64EncodedString);
using (MemoryStream memoryStream = new MemoryStream(tempBytes))
{
System.Drawing.Image image = System.Drawing.Image.FromStream(memoryStream);
image.Save("C:\\inetpub\\wwwroot\\MySite\\test.png");
}
このコードを実行すると、次のエラーが表示されます。
System.ArgumentException Parameter is not valid.
スタック トレースの関連部分は次のようになります。
at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)
私の理解では、これは base64encodedString が有効な画像ではないことを意味します。しかし、原因が何であるかを特定する方法はわかりません。上記のコードはサーバー上で実行されます。私も書いたクライアントアプリからエンコードされた文字列を渡しています。クライアント側とサーバー側でエンコードされた文字列を出力して、それらが一致することを確認しました。2 つの一致を考慮すると、文字列を適切にエンコードしていないことがわかります。どうすれば原因をたどることができますか。
ありがとうございました