保护网站图片版权:图片上传自动添加水印

需积分: 35 5 下载量 87 浏览量 更新于2024-09-19 收藏 1KB TXT 举报
在网站设计中,保护图片版权和防止他人未经许可复制是很重要的一步。本文档提供了一段C#代码片段,用于在用户上传图片到网站时,自动为其添加水印。这个过程包括以下几个关键步骤: 1. **验证文件上传**: 当`FileUpload1.PostedFile.FileName.Trim()`非空时,程序开始处理上传的文件。这确保了只有有效上传才会进行后续操作。 2. **获取文件扩展名**: 使用`System.IO.Path.GetExtension()`方法获取上传文件的扩展名,并将其转换为大写格式,以便后续处理。 3. **生成文件名和路径**: 通过`DateTime.Now.ToString("yyyyMMddHHmmssfff")`生成一个唯一的文件名,加上原始文件扩展名,然后拼接成完整的图片保存路径。`Server.MapPath(".")`用于获取服务器的物理路径。 4. **保存图片并创建水印**: `FileUpload1.PostedFile.SaveAs()`将上传的图片保存到指定路径,然后使用`System.Drawing.Image.FromFile()`加载一个预设的水印图片(如"1.jpg")。接着,创建一个`Graphics`对象,并使用`DrawImage()`方法将水印复制到原始图片上。参数设置为指定水印的位置和大小。 5. **保存带有水印的新图片**: 将处理后的图片保存到新的路径,其中包含了一个前缀(如"filename_new"),以区分原图和水印版本。 6. **清理内存和旧文件**: 在完成操作后,释放内存资源,例如关闭`Graphics`对象和原始图片文件。最后,如果原文件已成功处理,就删除它以节省存储空间。 7. **重定向至新图片**: 如果一切顺利,使用`Response.Redirect()`将用户重定向到新生成的带有水印的图片页面,这样可以防止他人直接访问原图片文件。 这个代码示例展示了如何利用.NET Framework中的图形处理功能,通过简单的编程逻辑,实现在网站上传图片时自动添加水印,从而保护网站的图片资源不被未经授权地复制或滥用。