前言: 今天项目发布上线,发布到正式环境验证功能的时候忽然方向之前做的一个图片合成的功能报错了提示:System.Runtime.InteropServices.ExternalException (0x80004005): GDI+ 中发生一般性错误.也就是说应用的System.Drawing中的Bitmap的这个类中的属性出了问题,这到底是什么问题呢?首先我本地开发,测试环境都可以正常的,为什么已发布到正式环境就有问题了呢,到底是环境问题还是配置权限的问题呢? 代码如下: /// <summ…
.net开发的程序用了一个自绘的框架, 平常部署到IIS上都没有问题,今天突然之间这个功能就运行不起来了. 报错:GDI+错误,然后在本地的VS里面运行是没有问题的 百度出来的改Path环境变量.注册表重新注册.NET等等都试过了,问题仍然得不到解决, 最终解决方案为:修改根目录的访问权限,给USER用户授予所有权即可 希望能帮到碰到此类问题的朋友…
 原因一般是写入文件时,.net没有该目录的写入权限. 解决方案:增加iis(对aspx而言)对该目录的写入权限.…
GDI+ 中发生一般性错误. “/wechat”应用程序中的服务器错误. GDI+ 中发生一般性错误. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误. 源错误: 行 37: } 行 38: string savePath = string.Format("{0}/stor…
今天突然收到一封信,说我那个极度复杂的Marshal的问题被解决了(http://www.cnblogs.com/hotcan/archive/2005/01/12/91007.html).顿时感觉好久没有在这个blog上写东西了.想当年刚毕业没事情干的时候,还是写得很不亦乐乎的.所以决定炒炒冷饭,写一篇技术文章,以说明我还没有忘记这里. 1.GDI+的前世今生 GDI+全称图形设备接口,Graphics Device Interface (GDI) ,他的爸爸叫做GDI, 用C写的.Windo…
今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现“GDI+中发生一般性错误”的异常.于是开始“摆渡”,并寻找到了解决办法:赋予 NETWORK SERVICE 帐户以写权限. 以下为晚上寻找到的资料: 在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因:1. 相应的帐户没有写权限.解决方法:赋予…
注:第一次写博客,把自己遇到的问题和收集的资料记录在博客上.在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因:1. 相应的帐户没有写权限.解决方法:赋予 NETWORK SERVICE 帐户以写权限.2. 指定的物理路径不存在.解决方法:在调用 Save 方法之前,先判断目录是否存在,若不存在,则创建.if (!Directory.Exists(dirpath))Directory.CreateDi…
在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因:1. 相应的帐户没有写权限.解决方法:赋予 NETWORK SERVICE 帐户以写权限.2. 指定的物理路径不存在. 转载地址:http://blog.sina.com.cn/s/blog_62078285010192cp.html…
在将图片以 PNG 格式保存至 Response.OutputStream 时,会碰到如下错误: GDI+ 中发生一般性错误. 原因: 在写 PNG 格式的图像时,指针需要在存储的位置来回移动.而 Response.OutputStream 只支持顺序访问. 解决方案: 先将 PNG 格式的图像保存至内存(内存总是可以随机访问的,即指针可以在内存中的存储位置来回移动),再将内存的存储内容复制写入 Response.OutputStream 中. 转载:http://www.zizhujy.com…
今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现“GDI+中发生一般性错误”的异常. 于是开始“摆渡”,并寻找到了解决办法:赋予 NETWORK SERVICE 帐户以写权限. 以下为晚上寻找到的资料: 在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因: 1. 相应的帐户没有写权限. 解决方法:…
今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现"GDI+中发生一般性错误"的异常. 于是开始"摆渡",并寻找到了解决办法:赋予 NETWORK SERVICE 帐户以写权限. 以下为晚上寻找到的资料: 在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致"GDI+ 中发生一般性错误"的发生,通常有以下三…
从数据库中读取的图片是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.FromStre…
错误背景:原来在winform程序中写了一个窗口,在wpf应用程序中调用显示了这个窗口,有个头像功能,加载本地的一个图片文件,加载前进行了各种逻辑判断,效果如下: 而加载的关键代码如下面: pictureBox_UserPortrait.Load(fileName); 然后更换头像时,在选择完新的头像后进行覆盖保存时就出现了gdi+ 中发生一般性错误,具体的代码如下: bitmap300.Save(fileName, System.Drawing.Imaging.ImageFormat.Png)…
有时我们在读取本地图片,调用 Image.Save() 方法,将其另保存为其他格式时,经常会碰到一个错误:“GDI+中发生一般性错误”:一般出现这种错误有 3 种可能: 1.保存路径不存在或者错误: 2.权限问题 3.“Bitmap 对象或一个 图像 对象从一个文件, 构造时该文件仍保留锁定对于对象的生存期. 因此, 无法更改图像并将其保存回它产生相同的文件” 对于,1.2问题就不多说了,针对问题3,一般我们重新保存一份图片,也就2行代码 var img = Image.FromFile(img…
在处理图片时,读取本地图像文件,进行另存时发生GDI+中发生一般性错误 . 具体情况如下: 用OpenFileDialog打开图像文件,文件名为filename StreamReader sr = new StreamReader(filename); Stream sm = sr.BaseStream; imgZheng = Image.FromStream(sm); sm.Close(); sr.Close(); //将读取到的Image重新写入流,转化为byte[]以便进行进一步的处理 M…
今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现"GDI+中发生一般性错误"的异常.于是开始"摆渡",并寻找到了解决办法:赋予 NETWORK SERVICE 帐户以写权限. 以下为晚上寻找到的资料: 在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致"GDI+ 中发生一般性错误"的发生,通常有以下三种…
System.Drawing.Image OldImage = null; oldImage = System.Drawing.Image.FromFile(ImageUrl); 使用该方法读取图片时.导致图片文件被死锁无法释放资源,导置重写资源时出现一般性错误. 解决方法将代码改成以下代码 Bitmap oImage = new Bitmap(ImageUrl);//从图片文件中读取图片流 Bitmap OldImage = new Bitmap(oImage);//将图片流复制到新的图片流中…
这个错误经常发生,代码如下: private  static  byte[] GetBytes (Image image) { try { if (image == null) return null; using (MemoryStream stream = new MemoryStream()) { image .Save(stream, ImageFormat.Jpeg); return stream.GetBuffer(); } } finally { if(image != null)…
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 一般这种情况都是没有权限,比如目录没有创建就写入,或者没有写入文件的权限 我的是目录问题,更多解决方案请看下面的参考 参考: http://bbs.csdn.net/topics/340250830 http://www.cnblogs.com/lgzslf/archive/2009/03/16/1412878.html…
有多种原因可能导致这个异常出现,比如创建文件的权限不足.文件被占用等. 这里提供一个使用Stream读取图片避免文件被占用的方法. public Image GetImageFromStream(string fileName) { Image img = null; try { FileStream fs = File.OpenRead(fileName); img = Image.FromStream(fs); fs.Close(); } catch (IOException ie) { M…
图片类型的文件保存的时候出了问题,可能是路径出错,也可能是保存到的文件夹不存在导致(发布项目的时候如果文件夹是空的,文件夹将不存在)…
1.检查文件夹权限 2.保存的文件已存在并因某种原因被锁定. 3.文件夹路径不存在…
Internal Compiler Error VS 2015 Update1 VS2015 Update1 编译OpenMesh的额代码时发生错误 fatal error c1001 编译器中发生内部错误 OpenMesh6.3 (compiler file 'f:\dd\vctools\compiler\cxxfe\sl\p1\c\special.c', line 6211) 1> To work around this problem, try simplifying or changin…
自己编译boost的库文件时遇到这个错误的,大概报错情况如下:  mp_defer.hpp<50>:fatal error C1001:编译器中发生内部错误.  1> 要解决此问题,请尝试简化或更改上面所列位置附近的程序.  1> 请选择 Visual C++  1> "帮助"菜单上的"技术支持"命令,或打开技术支持帮助文件来获得详细信息. 查找解决方法时发现有人说这叫"人品错误",大概是vs2013的一个bug吧,…
做水印图片的时候,发现WPF的System.Windows.Shapes类有绘制直线,椭圆等形状.却没有绘字符串的类. 无奈之下又用回GDI+ 发生的GDI+一般性错误初步估计的线程的原因. 在load事件加载不会出一般性错误.由于业务的要求,这个是放在一个定时刷新的事件里面. 用了 DispatcherTimer 与System.Timers.Timer都是无法解决这个问题.写了委托.也没用......当时心真的是凉了半截.折腾了4小时. 最后终于找到了下面那个把图片转换的方法.才搞定....…
解决思路: 1. 因为 .net GDI+ 是对底层 的封装. 所以可以尝试用 Marshal.GetLastWin32Error();函数获得底层错误代码. try{ image.Save(filename, System.Drawing.Imaging.ImageFormat.Png); } catch (Exception exp) { var code = Marshal.GetLastWin32Error(); throw new Exception(exp.Message + ":&…
错误的代码g对象继续占用 未释放资源 如果路径不一样 没问题 相同路径 获取图片进行 缩略会造成GDI错误 /// <summary> /// 生成缩略图 /// </summary> /// <param name="originalImagePath">源图路径(物理路径)</param> /// <param name="thumbnailPath">缩略图路径(物理路径)</param>…
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListerer java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListerer at org.apache.catalina.loader.WebappClassLoaderBase.load…
1 php.ini里面allow_url_fopen = On2 将php.ini中的;upload_tmp_dir = 该行的注释符,即前面的分号“:”去掉,使该行在php.ini文档中起作用.upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个绝对路径,这里设置的目录必须有读写权限.比如upload_tmp_dir = C:\tmp\然后C:\tmp\还要给IIS可读写的权限3 注意修改了php.ini后 重启IIS或者apache4 上传头像第一个…
错误提示: 问题原因以及解决方式:http://blog.csdn.net/huihut/article/details/79404421…