一、实现验证码功能。
1、主要功能
1>,随机数的产生。 Random ram= new Random();int code=ram.Next(1000,9999)
//随机生成4位验证码
2>、引用画画的空间;usingSystem.Drawing;
创建图像表示大小: Bitmap bmp= new Bitmap(60,40);
创建画布(及时释放资源);如何画;保存在输出流中,并指定格式jpeg;
using (Graphics g=Graphics.FromImage(bmp))
{
g.DrawString(code.ToString(),new Font("宋体",20),Brushes.Blue,new PointF(0,0));
bmp.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
}
3>、改变输出流的类型,默认是文本模式。Response.ContentType = "image/jpeg";
2、其他功能
1>、单击验证码时,会改变验证码
***客户请求服务器时,浏览器有一个缓存机制,用户发出请求时,浏览器先根据用户的请求,查看是否缓存机制中有同样的请求(当然,缓存机制是有时间限制的,每隔一段时间,会清空一次),如果有,就从缓存中直接调出,这样会提高浏览器的性能。如果没有,再向服务器请求。*****
根据此工作原理,本例可以不断改变请求(即改变请求地址),来达到使验证码不断重新执行随机数的产生。如何改变呢?可以在请求地址中加一个不断改变的传值参数(时间参数--系统时间)。
<script type="text/jscript">
functiongetValidateCode(obj) {
obj.src = "Validate.aspx?aa="+ new Date();
}
</script>
<img src="Validate.aspx"onclick="getValidateCode(this)"/>
二、文件的上传
***文件上传到服务器中,如何确定文件名的唯一性。方法一、Stringnewfilename=NewGuid().toString()
+expstr
方法二、编一个算法用:日期+时间+毫秒+随机数
2>、将上传的图片进行缩略。首先要将上传的文件流创建出图片,再对创建出的图片进行缩略
三、文件下载
设置http输出类型;根据已有图片创建位图;将位图保存到http输出流中
response.AddHeader("Content-Disposition","attachment;filename=默认文件名");一、实现验证码功能。
1、主要功能
1>,随机数的产生。 Random ram= new Random();int code=ram.Next(1000,9999)
//随机生成4位验证码
2>、引用画画的空间;using System.Drawing;
创建图像表示大小: Bitmap bmp = new Bitmap(60, 40);
创建画布(及时释放资源);如何画;保存在输出流中,并指定格式jpeg;
using (Graphics g=Graphics.FromImage(bmp))
{
g.DrawString(code.ToString(),new Font("宋体",20),Brushes.Blue,new PointF(0,0));
bmp.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
}
3>、改变输出流的类型,默认是文本模式。 Response.ContentType = "image/jpeg";
2、其他功能
1>、单击验证码时,会改变验证码
***客户请求服务器时,浏览器有一个缓存机制,用户发出请求时,浏览器先根据用户的请求,查看是否缓存机制中有同样的请求(当然,缓存机制是有时间限制的,每隔一段时间,会清空一次),如果有,就从缓存中直接调出,这样会提高浏览器的性能。如果没有,再向服务器请求。*****
根据此工作原理,本例可以不断改变请求(即改变请求地址),来达到使验证码不断重新执行随机数的产生。如何改变呢?可以在请求地址中加一个不断改变的传值参数(时间参数--系统时间)。
<script type="text/jscript">
function getValidateCode(obj) {
obj.src = "Validate.aspx?aa=" + new Date();
}
</script>
<img src="Validate.aspx" οnclick="getValidateCode(this)"/>
二、文件的上传
***文件上传到服务器中,如何确定文件名的唯一性。方法一、String newfilename=NewGuid().toString()
+expstr
方法二、编一个算法用:日期+时间+毫秒+随机数
2>、将上传的图片进行缩略。首先要将上传的文件流创建出图片,再对创建出的图片进行缩略
三、文件下载
设置http输出类型;根据已有图片创建位图;将位图保存到http输出流中
response.AddHeader("Content-Disposition","attachment;filename=默认文件名");