asp.net中上传图片文件实现防伪图片水印并写入数据库 复制代码 代码如下:// 涉及命名空间 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()); } }