文件上传加水印

在form表单写的代码(客户端源码)

‘FileUpload’控件:选择文件用的,点击可以选择文件
‘Image’控件:展示图片用的,所选的文件在这里展示

accept=".jpg,.png,.jpeg"图片文件加限制的属性
<form id="form1" runat="server">

        <asp:FileUpload ID="FileUpload1" runat="server" accept=".jpg,.png,.jpeg" />
        <asp:Button ID="Button1" runat="server" Text="上传" />
        <asp:Image ID="Image1" runat="server" />
    </form>

在后台服务端写按钮的点击事件

‘FileUpload1.SaveAs(这里面放的是一个路径);’

新建一个文件夹,把所有的上传文件都放在这个文件夹里

//判断控件是否选中,如果是非选中的话,直接‘return’走
        if (!FileUpload1.HasFile) return;
        //为了防止重名的问题,在前面加上上传的时间
        string path = "uploads/"+DateTime.Now.ToString("yyyyMMddHHssms")+FileUpload1.FileName;
        //Server.MapPath()路径映射,映射成绝对路径,把谁映射?把‘path’映射
        FileUpload1.SaveAs(Server.MapPath(path));
        //上传上之后,在界面上展示出来
        Image1.ImageUrl = path;       //这里是相对路径

以上是文件的基本上传,还没有加上水印

图片水印:

using System.Drawing;   首先的先引用一个画画的类(命名空间)这样可以使用各种画画的类,进行画画

然后,准备画布:System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);

画画是在哪里画 :Graphics g = Graphics.FromImage(img);

protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    void Button1_Click(object sender, EventArgs e)
    {
        if (!FileUpload1.HasFile) return;
        //画布
        System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent);
        //在哪张图上画
        Graphics g = Graphics.FromImage(img);
        //要画什么东西(内容)
        string s = "汉企奇点网络0504专用章";
        //字体
        Font f = new Font("黑体", 20);
        //画笔
        Brush b = new SolidBrush(Color.Red);
        //坐标轴
        PointF p = new PointF(10, 10);
        //把参数放上
        g.DrawString(s,f,b,p);
        string path = "uploads/" + DateTime.Now.ToString("yyyyMMddHHmmssms") + FileUpload1.FileName;
        img.Save(Server.MapPath(path));

        Image1.ImageUrl = path;
    }

如果是把两张图片进行叠加的话,需要改一个属性

g.DrawString()改成  g.DrawImage()

//两张图片叠加
        g.DrawImage(System.Drawing.Image.FromFile(Server.MapPath("uploads/222.png")), p);
时间: 2024-09-29 02:28:48

文件上传加水印的相关文章

webform文件上传加水印

1.文件上传加水印 页面代码: 后台代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing; public partial class _Default : System.Web.UI.Page { protected void

文件上传&amp;画水印

文件上传: //把相对路径变成绝对路径.string absolutePath = Server.MapPath(relativePath); FileUpload控件: 属性: FileName:文件名 HasFile:bool 是否选中了文件 FileBytes:要上传文件的二进制数据 方法: SaveAs(string 绝对路径):上传,另存为. 一.上传到硬盘文件夹(一)传单个文件 第一步:准备好文件及路径: //把之前在客户端的文件名给取出来 string fileName = Fil

jquery 实现拖动文件上传加进度条

通过对文件的拖动实现文件的上传,主要用到的是HTML5的ondrop事件,上传内容通道FormData传输: //进度条 <div class="parent-dlg" > <div class="progress-label">0%</div> <div class="son"></div> </div> //要拖动到的地方 <div class="main

【2017-6-9】WebForm 图片上传加水印

前台代码 <body> <form id="form1" runat="server"> <div> <%--上传的控件--%> <asp:FileUpload ID="FileUpload1" runat="server" /> <%--上传按钮--%> <asp:Button ID="Button1" runat="

文件上传,图片加水印

文件上传: 所用控件:FileUpload 使用时的思路: 1.判断用户是否选中了文件 FileUpload.FileName获取选中的文件名,判断长度,如果长度大于零就代表已经选择了文件 JS端:通过ID获取控件,然后控件的value获取选中的文件名 2.将文件保存到服务器上 FileUpload.SaveAs("绝对路径"); 3.获得绝对路径 先编写相对路径:比如"UpLoads/abc.txt" 再把路径映射成绝对路径:Server.MapPath(&quo

Webform 文件上传、 C#加图片水印 、 图片验证码

文件上传:要使用控件 - FileUpload 1.如何判断是否选中文件? FileUpload.FileName - 选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.value.length 2.如何保存到服务器上? FileUpload.SaveAs("绝对路径"); 3.如何获得绝对路径? 先编写相对路径 - "UpLoads/abc.txt" 将相对路径映射成绝对路径 - Server.MapPath("UpLoads/a

文件上传,图片水印,验证码--2017年1月6日

文件上传: 要使用控件 - FileUpload 1.如何判断是否选中文件? FileUpload.FileName - 选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.value.length 2.如何保存到服务器上? FileUpload.SaveAs("绝对路径"); 3.如何获得绝对路径? 先编写相对路径 - "UpLoads/abc.txt" 将相对路径映射成绝对路径 - Server.MapPath("UpLoads/

afinal 文件上传、下载、图片加载实例

// Afinal框架讲解 public class AfinalActivity extends FinalActivity { @ViewInject(id=R.id.bt_afinal_loadimage,click = "bt_afinal_loadimage_click") private Button bt_afinal_loadimage; @ViewInject(id = R.id.bt_afinal_gettext, click = "bt_afinal_g

WebApi 文件上传,断点上传,分块上传,断点下载,查询 (图片的直接预览,视频边加载边播放)

using Manjinba.Communication.Common.Caching;using Manjinba.Communication.Common.Logging;using Manjinba.Communication.Common.Utils;using Manjinba.Communication.IRepository;using Manjinba.Communication.IService;using Manjinba.Communication.Model;using