老实说,在ASP.Net中运行GDI +的是什么?它以如此神秘的方式工作,错误描述非常神秘: GDI +中发生了一般错误。
哦,非常感谢你现在我确切地知道出了什么问题......不是。
看看导致错误的代码,也许你可以帮助我?
var fileStream = fuImage.FileContent;
var imageStream = new MemoryStream();
imageStream.SetLength(fileStream.Length);
fileStream.Read(imageStream.GetBuffer(), 0, (int)fileStream.Length);
imageStream.Flush();
fileStream.Close();
using (var image = System.Drawing.Image.FromStream(imageStream))
{
using (Bitmap bmp = new Bitmap(image.Width, image.Height))
{
using (Graphics gr = Graphics.FromImage(bmp))
{
gr.DrawImage(image, 0, 0);
bmp.Save(path);
}
}
}
这实际上是我的代码的简化版本,但它仍然会导致错误。 fuImage是一个FileUpload
控件(.NET Web Forms)。
如果您收到此错误,请确保存在要保存文件的完整路径...或者您可能会收到此“一般错误”消息。
答案 0 :(得分:6)
将文件复制到MemoryStream
并阅读。
来自FileUpload的Stream是不可搜索的,GDI +不喜欢它。