私はウェブサイトの画像アップロード機能に取り組んでおり、これらの画像がアップロードされるときにいくつかの処理を行っているため、System.Drawing.Image
およびその他の関連クラスを使用しています。
最終的に、ビットマップ データを にロードし、MemoryStream
そこから my を取得してSystem.Drawing.Image
から を呼び出しImage.Save(string path, ImageFormat format)
ます。
System.Runtime.InteropServices.ExternalException
いくつかの JPEGが永遠に役立つエラー メッセージをスローするのを見つけました。
GDI+ で一般的なエラーが発生しました。
ドキュメントを確認すると、次の場合にスローされるImage.Save
と記載されていますExternalException
画像が間違った画像形式で保存されました。
- または -
イメージは、作成元と同じファイルに保存されました。
画像は有効な JPEG です。Preview、Paint、Paint.NET、Photoshop、Chrome、IE のすべてで問題なくファイルを開きます。私のコードは、問題なくファイルを開きます。
指定して、または指定せずにファイルを保存しようとしましたImageFormat
が、同じ結果が得られます。
このコードは、他の JPEG ファイルの読み込みに対しては正常に機能します。
例外がスローされる理由に関する詳細情報を取得する方法はありますか?
アップデート
トピックから逸れているかもしれないのではないかと心配しています (トピックは、GDI+ ExternalException から有用なエラーを取得することは可能ですか) ので、私が経験しているバグの再現を投稿するつもりはありません。そのバグの修正を求めています。
ほぼ役に立たない「GDI +の一般的なエラー」から有用で意味のあるエラーに移行する方法を見つける上で、それらは重要な価値があると思います。