是的,其中另一个......堆栈跟踪(有意义的部分):
System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+
at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)
at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement)
at System.Drawing.Image.FromStream(Stream stream)
尝试打开最终用户上传的图像文件时会发生这种情况。代码大约是这个(精简到基本部分):
HttpPostedFile file = Request.Files[name];
Stream stream = file.InputStream;
byte[] bytes = new byte[file.ContentLength];
stream.Read(bytes, 0, file.ContentLength);
return bytes;
然后用于
MemoryStream stream = new MemoryStream(bytes);
return Image.FromStream(stream);
所以本质上它放弃了尝试从内存流中加载图像。这并不总是发生。事实上,我自己无法重现该问题,但在过去 2 周内,几个不同的用户发生了大约 20 次。我无权访问触发问题的实际文件。
任何关于这里可能发生的事情的线索将不胜感激。