三星侧屏软件下载:无组件图片上传并加上水印

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 07:20:30
一、前台页面就是所谓的.aspx页面需要两个控件一个File控件,一个Button控件。代码如下:


需要给Button添加一个ButUpload_Click方法。在VS.NET环境中直接双击Button控件就可以在后台页面生成Button的OnClick事件的方法了。
二、后台页面就是所谓的.aspx.cs(C#)或者是.aspx.vb(VB)下面我们只提供C#的程序,以下方法就是Button的OnClick事件的方法的具体代码:
protected void ButUpload_Click(object sender, EventArgs e)
     {
         if (UploadFile.PostedFile.FileName.Trim() != "")//判断File控件是否为空
         {
            
             if (UploadFile.PostedFile.ContentLength <= 1048576)//限制上传文件的大小,目前为1M
             {
                 //上传文件
                 string extension = System.IO.Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper();//获取文件的后缀名并生成大写
                 Random rd = new Random();
                 string rdNum = rd.Next(1000, 9999).ToString();//获取一个随机数
                 string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + rdNum;//当前时间+随机数生成文件名

                 string path = Server.MapPath("../Upload/ActicleImgs/") + fileName + extension;//设置服务器上传的路径和文件名称
                 if (extension == ".GIF" || extension == ".JPG")//判断上传的文件类型是否为.GIF或.JPG
                 {


                     UploadFile.PostedFile.SaveAs(path);//在服务器上保存文件

                     //加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
                     //System.Drawing.Image image = System.Drawing.Image.FromFile(path);
                     //Graphics g = Graphics.FromImage(image);
                     //g.DrawImage(image, 0, 0, image.Width, image.Height);
                     //Font f = new Font("Verdana", 20);
                     //Brush b = new SolidBrush(Color.Gray);
                     //string addText = "www.eso365.com";//设置水印文字
                     //g.DrawString(addText, f, b, 0, 0);//设置水印文字的位置
                     //g.Dispose();

                     //加图片水印
                     System.Drawing.Image image = System.Drawing.Image.FromFile(path);
                     System.Drawing.Image copyImage = System.Drawing.Image.FromFile(Server.MapPath("../Upload/ActicleImgs/shuiyin/") + "sylogo.gif");//设置水印图片
                     Graphics g = Graphics.FromImage(image);
                     g.DrawImage(copyImage, new Rectangle(image.Width - copyImage.Width, image.Height - copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);//设置水印图片的位置
                     g.Dispose();

                     //保存加水印过后的图片,删除原始图片
                     rdNum = rd.Next(1000, 9999).ToString();
                     fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + rdNum;
                     string newPath = Server.MapPath("../Upload/ActicleImgs/") + fileName + extension;

                     image.Save(newPath);
                     image.Dispose();
                     if (System.IO.File.Exists(path))//删除没有水印的图片
                     {
                         System.IO.File.Delete(path);
                     }
                 }
                 else
                 {
                     Response.Write("");
                 }
             }
             else
             {
                 Response.Write("");
             }

         }
         else
         {
             Response.Write("");
         }
     }