ASP网站制作之将上传图片打上防伪图片水印并写进数据...
源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多.纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码上传|上传图片|数据|数据库/*Author:sharpcn|Scorpion
Studio:www.bkwww.com
Copyright(c)2004今天故里
Function:将上传的图片增加防伪图片水印,并将图片间接写进数据库,不保存在硬盘。
*/
//触及定名空间
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Drawing;
usingSystem.Drawing.Drawing2D;
usingSystem.Drawing.Imaging;
usingSystem.Web;
usingSystem.Configuration;
//办法
publicvoidAddUser(stringPersonName,stringPersonEmail,stringPersonSex,stringPersonDOB,stringPersonImage,stringPersonImageType)
{
stringstrImageType=userImage.PostedFile.ContentType;
StreamImageStream=userImage.PostedFile.InputStream;
//加水印------------------------------------------------------------>
stringwImageFile=Server.MapPath("/bkwww/image/HomeSign.gif");//要加的水印图
ImagesImage=Image.FromStream(ImageStream);//从Http输出流创立image
ImagewImage=Image.FromFile(wImageFile);
//画图
Graphicsg=Graphics.FromImage(sImage);
g.DrawImage(wImage,newRectangle(0,0,wImage.Width,wImage.Height),0,0,wImage.Width,wImage.Height,GraphicsUnit.Pixel);
//保留,并将image转化为byte[]
MemoryStreamms=newMemoryStream();
byte[]myImage=null;
sImage.Save(ms,ImageFormat.Gif);
myImage=ms.GetBuffer();
//------------------------------------------------------------------>
//写进数据库
stringstrConn=ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnectionmyConnection=newSqlConnection(strConn);
SqlCommandmyCommand=newSqlCommand("sp_person_isp",myConnection);
myCommand.CommandType=CommandType.StoredProcedure;
myCommand.Parameters.Add("@PersonEmail",SqlDbType.VarChar,255).Value=PersonEmail;
myCommand.Parameters.Add("@PersonName",SqlDbType.VarChar,255).Value=PersonName;
myCommand.Parameters.Add("@PersonSex",SqlDbType.Char,1);
if(sexMale.Checked)
myCommand.Parameters["@PersonSex"].Value="M";
else
myCommand.Parameters["@PersonSex"].Value="F";
myCommand.Parameters.Add("@PersonDOB",SqlDbType.DateTime).Value=PersonDOB;
myCommand.Parameters.Add("@PersonImage",SqlDbType.Image).Value=myImage;
myCommand.Parameters.Add("@PersonImageType",SqlDbType.VarChar,255).Value=ImageType;
try
{
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
Response.Write("增加乐成!");
}
catch(System.ExceptionSqlEx)
{
Response.Write("增加失利!"+SqlEx.ToString());
}
}
</p>因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
页:
[1]