我正在为网站制作图片上传功能,我正在对这些图片进行处理,因为我们正在使用System.Drawing.Image
和其他相关课程。
最终我将位图数据加载到MemoryStream
,从那里我获取System.Drawing.Image
然后调用Image.Save(string path, ImageFormat format)
。
我发现一些JPEG会使用永久有用的错误消息<{1}}抛出
GDI +中发生了一般性错误。
检查System.Runtime.InteropServices.ExternalException
的文档是否会在
Image.Save
图像以错误的图像格式保存 - 或 -
图像已保存到创建它的同一文件中。
图像是有效的JPEG;预览,画图,Paint.NET,Photoshop,Chrome和IE都无需投诉即可打开文件。我的代码甚至可以毫无怨言地打开文件。
我尝试使用和不使用指定的ExternalException
保存文件,但我得到的结果相同。
该代码适用于其他JPEG文件的加载。
有没有办法获取有关抛出异常原因的更多信息?
更新
我担心我们可能会偏离主题(主题是,是否有可能从GDI + ExternalException获取有用的错误)所以我不会发布我正在经历的错误的repro,因为最终我我不是要求修复那个bug。
我认为他们在找到一种方法,从近似无用的“GDI +中的通用错误”转变为有用且有意义的错误方面具有重要价值。