偶原来的用ASP.NET生成验证码图片时用的是JPG格式,今天想把它改成PNG格式的,结果就出现GDI+一般性错误,查了N久资料,才发现解决的办法,对分享此解决办法的网友深表感谢
Response.Clear();
Response.ContentType = "image/PNG";
img.Save(Response.OutputStream, ChartFormat.Png);
竟然出现异常,是GDI+一般性错误。但是如果格式是Response.ContentType = "image/jpeg";
就不会报错。
好在以前遇到过,改成
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流。
分享到:
相关推荐
本程序使用VS2019进行制作,利用ASP.NET+H5+Zxing+js+sweetalert2 实现手机端和PC端调用摄像头进行二维码扫一扫,实现前端采集数据,后端进行分析并向前端传值,pc端可运行,手机端鸿蒙系统,安卓,IOS4.X以上均可...
Asp.net MVC快速开发框架源码 mvc+Bootstrap 框架使用场景:OA、ERP、BPM、CRM、WMS、TMS、MIS等业务管理系统及后台系统
Asp.Net Core 3.1 MVC+EF Core +SqlSugar ORM框架实例 多层架构示例Demo,与大家共同学习,加QQ532186511交流沟通更多.Net Core技术
ASP.NET后台通用MVC+EF6+Bootstrap开发框架,全部采用最新的技术,后代代码采用IOC+AOP+DDD模式,灵活性强。绝对的asp.net开发者的福利,绝对的asp.net开发者的福利,绝对的asp.net开发者的福利,绝对的asp.net...
Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第一章 --操作数据 1、 关于HtmlHelper和UrlHelper 因为大部分的web请求的目标都是向客户端发送HTML代码。因此,Asp.Net MVC也是 为我们创建HTML提供了各种帮助。...
ASP.NET+MVC5+EF6+EasyUI源码(完整版),包含数据库。
ASP.NET 毕业设计 网上论坛 源代码+数据库+说明文档+毕业论文
采用ASP.NET+VS2005+SQL2005+C#开发.动态flash.可做学习.net2005架构只用.
导致图片文件被死锁无法释放资源,导置重写资源时出现一般性错误。 解决方法将代码改成以下代码 代码如下: Bitmap oImage = new Bitmap(ImageUrl);//从图片文件中读取图片流 Bitmap OldImage = new Bitmap...
asp.net利用gdi+生成验证码,内有一个类文件 和 一个网页
本书是一本为.NET开发人员讲授如何编写Windows和Web图形应用程序的专著,书中全面介绍了GDI+和Windows图形程序设计的基本知识和GDI+图形程序设计的各个方面。 本书适合于开发GDI+图形应用程序的初、中级程序员...
Pro ASP.NET MVC 5 (精通ASP.NET MVC5框架) 中文+英文+配套源代码
JS+asp.net+图片上传+预览+支持多上传+上传前预览
酒店管理系统—ASP.NET最终完善版源码 三层+sql2005数据库
asp.net mvc2.0+Spring.net1.3+Ibatis.net+memcached的帮助,里面有spring.net和asp.netMVC的教程和一个贯穿案例。希望对大家有所帮助。绝对值这个分。
ASP.NET Core2.2+Vue.js+mysql+redis开发的网站框架,搭建的框架实例。后期会持续更新。
ASP.net动态树形权限菜单JavaScript+SqlServer2005ASP.net动态树形权限菜单JavaScript+SqlServer2005
自己做的某个企业网站的源代码 用的asp.net+access 语言是C#。实现了首页展示、关于公司、新闻动态、产品展示、联系我们等。有后台管理。后台用户名admin,密码111111