我试图“重新保存”一个图像,并得到错误“GDI +中发生了一般性错误”。我已经做了一些搜索这个错误,但还没有找到解决方案!大部分的建议提到:“在GDI +中发生了一般性错误”保存
- 检查该流不使用或锁定(即文件流)
- 确保流未设置为对象的生命周期(不应该因为你见下文)
- 试图将位图对象中复制的对象,并用它来保存(没有为我工作)
我正在使用的代码如下:
using (Stream @imageStream = ResourceManager.CreateFile(finalResourceId, imageFileName))
{
using (MemoryStream ms = new MemoryStream(imageFile.ResourceObject))
{
using (Image img = Image.FromStream(ms))
{
imageWidth = img.Width;
imageHeight = img.Height;
img.Save(@imageStream, img.RawFormat);
}
}
}
在上面的代码中,ResourceManager.CreateFile
返回相当于MemoryStream
,因此不应该有任何“资源问题”。
我不假设其他人遇到过这个问题,并且能够分享他们的解决方案吗?在此先感谢您的帮助!
只要你知道,你可以结合那些使用语句。 – 2009-11-02 04:04:27
有你要保存的文件夹获得ASPNET_MACHINE和NETWORKSERVICE写入权限? – Scozzard 2009-11-02 04:10:50
嗨,感谢您对使用陈述的建议。 至于权限查询 - 这些不应该发挥作用,因为我没有写入文件系统,而是将所有内容都保存在内存中。 – 2009-11-02 04:13:22