文件的上传和验证码的产生



一、实现验证码功能。

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=默认文件名");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值