上傳圖片加水印 需要使用控件FileUpload 上傳按鈕Image控件展示上傳的圖片,頁面中拖入三個控件
1 <form id="form1" runat="server"> 2 <asp:FileUpload ID="FileUpload1" runat="server" accept=".jpg,.jpeg,.png" /> 3 <asp:Button ID="Button1" runat="server" Text="上傳" /> 4 <asp:Image ID="Image1" runat="server" /> 5 </form>
JS端限制沒有選擇上傳圖片上傳圖片過大
1 <script> 2 document.getElementById("Button1").onclick = function () { 3 var f = document.getElementById("FileUpload1"); 4 if (f.value.length <= 0)//沒有選擇上傳的文件 5 { 6 alert("請選擇上傳的文件!"); 7 return false; 8 } 9 if (f.files[0].size > (1024 * 1024 * 10))//限制上傳文件的大小10MB 10 { 11 alert("文件過大,不允許上傳!"); 12 return false; 13 } 14 }; 15 </script>
選擇圖片 點擊上傳加水印上傳顯示在界面上 后代代碼
1 using System.Drawing;//繪畫引用System.Drawing命名空間 2 3 protected void Page_Load(object sender, EventArgs e) 4 { 5 Button1.Click+=Button1_Click;//上傳按鈕 6 } 7 8 void Button1_Click(object sender, EventArgs e) 9 { 10 //2.創建System.Drawing.Image對象,使用FromStream方法需要System.IO對象 11 System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.FileContent); 12 //1.繪畫用Graphics這個類,使用FromImage方法指向畫布,需要System.Drawing.Image對象 13 Graphics g = Graphics.FromImage(img); 14 //4 創建s-繪制的內容 f-字體 b-畫刷 15 string s = "www.baidu.com"; 16 Font f = new Font("黑體", 80); 17 Brush b = new SolidBrush(Color.Red); 18 //3.繪制DrawString方法 s-繪制的內容 f-字體 b-畫刷 從哪個位置開始畫 19 g.DrawString(s, f, b, 150,700 ); 20 //5保存img.Save 制作保存路徑 21 string path = "Images/" + DateTime.Now.ToString("yyyyMMddhhssmm") + FileUpload1.FileName; 22 img.Save(Server.MapPath(path)); 23 //頁面展示圖片 24 Image1.ImageUrl = path; 25 }
頁面顯示如下:

