- 时间:2021-05-09 16:42 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:ASP.NET百度Ueditor编辑器实现上传图片添加水印效果
[b]前言[/b]
最近工作中遇到一个需求,是要实现asp.net百度ueditor图片上传添加水印的功能,通过查找相关的资料终于实现了,下面来给大家分享下实现的效果,文末给出了实例代码,大家可以参考学习,下面来一起学习学习吧。
[b]效果图[/b]
首先来看下我们想要的功能界面,如果发觉这种效果不是你想要的,后面的内容就不用看了。
[img]http://files.jb51.net/file_images/article/201703/2017315103135707.jpg?2017215103148[/img]
[b]准备[/b][b] [/b]
从官网下载的Ueditor压缩包,我下载的是ueditor1_4_3-utf8-net 这个版本,下面的介绍是对这个版本而言的。
[b]修改界面[/b]
先找到我们要添加"加水印[checkbox]"的地方
[img]http://files.jb51.net/file_images/article/201703/2017315103221300.jpg?2017215103230[/img]
由此可以知道,我们应该到image.html 这个文件去修改我们的html代码,在 image.html文件的第36行开始添加几行html代码,如下图:
[img]http://files.jb51.net/file_images/article/201703/2017315103259637.jpg?201721510339[/img]
刷新界面,单击多图上传>本地上传,界面就变成这样了:
[img]http://files.jb51.net/file_images/article/201703/2017315103351249.jpg?201721510340[/img]
[b]寻找可行的办法[/b]
打开FireBug,选中控制台,我们上传一张图片,看一下请求信息:
[img]http://files.jb51.net/file_images/article/201703/2017315103459560.jpg?201721510356[/img]
[img]http://files.jb51.net/file_images/article/201703/2017315103539367.jpg?2017215103548[/img]
这里可以看到,图片的上传是由controller.ashx 来处理的,而且有请求的参数:action 和 encode 。那我们再来看一下controller.ashx 具体是怎么处理的:
[img]http://files.jb51.net/file_images/article/201703/2017315103614017.jpg?2017215103621[/img]
前台传过来的参数action 参数值为uploadimage ,类action 由派生类 UploadHandler进行实例化,UploadHandler 又通过构造函数注入 UploadConfig类的实例,最后由[code]action.Process()[/code]调用:
[img]http://files.jb51.net/file_images/article/201703/2017315103649766.jpg?2017215103656[/img]
其中[code]File.WriteAllBytes[/code] 即为保存图片的方法。
上面就是图片上传中"本地上传"的主要处理代码。现在思考一下,我们要给图片加水印,应该怎么去做呢?
有人很快就反应过来了:我们可以从前台请求controller.ashx 时将带有是否要加水印的"字符串"一并传递到后台,后台通过判断就可以做出相应的处理了!
[b]实现[/b]
1. 先找到请求controller.ashx 时,参数是从哪里添加上去的,js基础比较好的同学应该不难找到:
[img]http://files.jb51.net/file_images/article/201703/2017315103739175.jpg?2017215103748[/img]
我们给他添加参数:“是否加水印”
[img]http://files.jb51.net/file_images/article/201703/2017315103814786.jpg?2017215103823[/img]
2. 后台获取参数并进行判断是否要加水印
[img]http://files.jb51.net/file_images/article/201703/2017315103852750.jpg?201721510390[/img]
[img]http://files.jb51.net/file_images/article/201703/2017315103928703.jpg?2017215103935[/img]
[img]http://files.jb51.net/file_images/article/201703/2017315103958448.jpg?201721510405[/img]
好了,这样就大功告成了~
上传一张图片看看:
[img]http://files.jb51.net/file_images/article/201703/2017315104032287.jpg?2017215104039[/img]
[b]其他[/b]
水印图片的处理,图片处理类可以通过这篇文章查看详细:[url=http://www.1sucai.cn/article/108473.htm]http://www.1sucai.cn/article/108473.htm[/url]
示例下载:[url=http://xiazai.jb51.net/201703/yuanma/UeditorWatermarkApp(jb51.net).rar]点击这里[/url]
[b]总结[/b]
好了,以上就是关于ASP.NET Ueditor上传图片添加水印的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。