1

私はウェブサイトの画像アップロード機能に取り組んでおり、これらの画像がアップロードされるときにいくつかの処理を行っているため、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 +の一般的なエラー」から有用で意味のあるエラーに移行する方法を見つける上で、それらは重要な価値があると思います。

4

0 に答える 0