Image.Save()发生“GDI+ 中发生一般性错误”
2010-10-09 12:01
260 查看
从数据库中读取的图片是byte[]类型,将其转换成Image可以正常显示,但是调用image.Save()时会发生“GDI+ 中发生一般性错误”。
public static System.Drawing.Image ToImage(byte[]bytes)
{
System.IO.Stream ms = new System.IO.MemoryStream(bytes);
System.Drawing.Image image =System.Drawing.Image.FromStream(ms);
ms.Close();
image.Save( "C:////1.bmp ");//这一句出错
return Image;
}
怎样解决呢?在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因:
1. 相应的帐户没有写权限。
解决方法:赋予 NETWORK SERVICE 帐户以写权限。
2. 指定的物理路径不存在。
解决方法:
在调用 Save 方法之前,先判断目录是否存在,若不存在,则创建。
if (!Directory.Exists(dirpath))
Directory.CreateDirectory(dirpath);
3. 保存的文件已存在并因某种原因被锁定。
解决方法:
重启IIS,解除锁定。并在代码中使用 using 语句,确保释放 Image 对象所使用的所有资源。 image.Save(); 保存到MemoryStream也是一样,如果存在未释放的对象那也只有可能是ms了,但是怎样释放它呢,我用using也不行啊!!!
把ms.Close();放在image.Save( "C:////1.bmp ");后面******
图像还没保存,流就关闭了。感谢 owennol !!!基本上 这是个微软的bug
public static System.Drawing.Image ToImage(byte[]bytes)
{
System.IO.Stream ms = new System.IO.MemoryStream(bytes);
System.Drawing.Image image =System.Drawing.Image.FromStream(ms);
ms.Close();
image.Save( "C:////1.bmp ");//这一句出错
return Image;
}
怎样解决呢?在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因:
1. 相应的帐户没有写权限。
解决方法:赋予 NETWORK SERVICE 帐户以写权限。
2. 指定的物理路径不存在。
解决方法:
在调用 Save 方法之前,先判断目录是否存在,若不存在,则创建。
if (!Directory.Exists(dirpath))
Directory.CreateDirectory(dirpath);
3. 保存的文件已存在并因某种原因被锁定。
解决方法:
重启IIS,解除锁定。并在代码中使用 using 语句,确保释放 Image 对象所使用的所有资源。 image.Save(); 保存到MemoryStream也是一样,如果存在未释放的对象那也只有可能是ms了,但是怎样释放它呢,我用using也不行啊!!!
把ms.Close();放在image.Save( "C:////1.bmp ");后面******
图像还没保存,流就关闭了。感谢 owennol !!!基本上 这是个微软的bug
相关文章推荐
- System.Drawing.Image.Save 方法导致“GDI+ 中发生一般性错误”
- Image.save引发的“GDI+发生一般性错误”
- Image.Save()发生“GDI+ 中发生一般性错误”
- System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”
- 图像对象paip.Image对象出现“对象当前正在其他地方使用或者GDI+中发生一般性错误的解决
- Save()发生“GDI+ 中发生一般性错误”
- paip.Image对象出现“对象当前正在其他地方使用或者GDI+中发生一般性错误的解决
- GDI+中发生一般性错误的解决办法(转载)
- “GDI+中发生一般性错误” 的解决办法!
- 图片在保存的时候===》出现这个异常:GDI+ 中发生一般性错误
- “GDI+中发生一般性错误” 的终极解决办法! 转自cici 自娱自乐
- 处理【GDI+ 中发生一般性错误】
- GDI+中发生一般性错误的解决办法(转帖)
- GDI+ 中发生一般性错误
- message:GDI+ 中发生一般性错误。
- GDI+中发生一般性错误的解决办法(转帖)
- GDI+ 中发生一般性错误
- GDI+中发生一般性错误 以及发布时候需要配置的文件
- C#保存图片时提示“GDI+ 中发生一般性错误”
- 总结:C# Bitmap保存的问题,eg:GDI+中发生一般性错误 .jpg 正由另一个进程使用 ,该进程无法访问文件