服务器之家

服务器之家 > 正文

asp.net中上传图片文件实现防伪图片水印并写入数据库

时间:2019-09-09 10:49     来源/作者:asp之家

代码如下:


// 涉及命名空间 
using System; 
using System.Collections; 
using System.ComponentModel; 
using System.Data; 
using System.Data.SqlClient; 
using System.Drawing; 
using System.Drawing.Drawing2D; 
using System.Drawing.Imaging; 
using System.Web; 
using System.Configuration; 

// 方法 
public void AddUser(string PersonName, string PersonEmail, string PersonSex, string PersonDOB, string PersonImage, string PersonImageType) 

string strImageType = userImage.PostedFile.ContentType; 
Stream ImageStream = userImage.PostedFile.InputStream; 

// 加水印-----------------> 
string wImageFile = Server.MapPath("/bkwww/image/HomeSign.gif"); // 要加的水印图 
Image sImage = Image.FromStream(ImageStream); // 从 Http 输入流创建 image 
Image wImage = Image.FromFile(wImageFile); 

// 绘图 
Graphics g = Graphics.FromImage(sImage); 
g.DrawImage(wImage, new Rectangle(0, 0, wImage.Width, wImage.Height), 0, 0, wImage.Width, wImage.Height, GraphicsUnit.Pixel); 

// 保存,并将 image 转化为 byte[] 
MemoryStream ms=new MemoryStream(); 
byte[] myImage=null; 
sImage.Save(ms, ImageFormat.Gif); 
myImage = ms.GetBuffer(); 
//------------------------> 



// 写入数据库 
string strConn = ConfigurationSettings.AppSettings["ConnectionString"]; 
SqlConnection myConnection = new SqlConnection(strConn); 
SqlCommand myCommand = new SqlCommand("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.Exception SqlEx) 

Response.Write("添加失败!"+SqlEx.ToString()); 

}

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-07-24
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
返回顶部