ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
2009-01-10 00:00
711 查看
以下是原文:
Code:
竟然出现异常,是GDI+一般性错误。但是如果格式是
Code:
就不会报错。
好在以前遇到过,改成
Code:
就可以输入png图片了。
这是由于Response.OutputStream这个流的无法往回读取造成的,也就是它的CanSeek属性
是false。png图像生成的时候不像jpeg,不是流式的,已经写入的就不再管了,而是需要往回
不断地写入结构数据。但是response流无法往回seek,所以直接用就不行了。改成一个可以
seek的MemoryStream,先生成好png图片,然后再输出到response流。
Code:
Response.Clear(); Response.ContentType = "image/PNG"; img.Save(Response.OutputStream, ChartFormat.Png);
竟然出现异常,是GDI+一般性错误。但是如果格式是
Code:
Response.ContentType = "image/jpeg";
就不会报错。
好在以前遇到过,改成
Code:
Response.ContentType = "image/PNG"; using (MemoryStream ms = new MemoryStream()) { img.Save(ms, ChartFormat.Png); Response.OutputStream.Write(ms.GetBuffer(), 0, (int)ms.Length); }
就可以输入png图片了。
这是由于Response.OutputStream这个流的无法往回读取造成的,也就是它的CanSeek属性
是false。png图像生成的时候不像jpeg,不是流式的,已经写入的就不再管了,而是需要往回
不断地写入结构数据。但是response流无法往回seek,所以直接用就不行了。改成一个可以
seek的MemoryStream,先生成好png图片,然后再输出到response流。
相关文章推荐
- ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
- ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
- asp.net图片添加水印以及GDI+ 中发生一般性错误的解决方法
- 关于生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
- .net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
- ASP.NET中使用UpdatePanel时用Response输出出现错误的解决方法
- .net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
- ASP.net AJAX置于框架中出现JScript运行时错误的解决方法
- win2003配置IIS ,发布asp.net 时出现错误 “分析器错误信息: 无法识别的属性“type”。” 的解决方法
- Asp.Net(IIS)运行后出现“.dll拒绝访问”错误的解决方法(已解决)
- 在asp.net(vb)中,应用ajaxpro.dll操作Session出现错误的解决方法
- ASP.net AJAX置于框架中出现JScript运行时错误的解决方法(转)
- asp.net办公自动化系统开发实例导航的安装出现错误的解决方法
- asp.net 发布到IIS中出现”处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”“错误的解决方法
- asp.net 虚拟主机时常出现MAC验证失败错误之解决方法
- 关于asp.net导出Excel出现“异常来自 HRESULT:0x800A03EC”错误解决方法
- asp.net 发布到IIS中出现”处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”“错误的解决方法
- asp.net程序编译调试时偶尔出现访问被拒绝的错误的解决方法
- ASP.NET使用GridView时,出现错误“必须声明标量变量‘@ID’”的解决方法