- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IHttpHandler的妙用:给图片添加水印
IHttpHandler的妙用(1):给 图片添加水 印
先给大家看几张熟悉的图片:
上面这些 图片大家不熟悉,不过如果大家 留心一下就会发现每张 图片上都有一些有关 网站 的信息,只不
过第一张和第二张使用 的是 图片,第三张就是文字而 已,这就是所谓 的图片水 印技术,
它一般都是在原有 图片上添加一些 自己的标记(一般是 网站 网址),这样如果别 的网站直接链接使用 的话,则
不可避免带上 了 自己网站 的信息,相当于给 自己网站做 了广告 。
最近本人也做 了一个网站,做一个政府 网站, 网站管理人员发现 以前很多新 闻记者不打招呼就
直接使用他们 的新 闻信息和 图片,他们很恼火,于是要求我给他们 的网站添加上水 印,这样如果别人要用只能
通过正式渠道来 向他们索取而不是从 网站上把 图片存下来 。
一般 的做法是在上传 图片时直接给 图片添加上水 印, 由于我在项 目中使用 了FCKeditor,在上传 时不易
控制, 同时对方还要求他们 自己用 时不能有水 印,于是我就使用 了在 图片显示时动态添加水 印的办法, 另外,
为了提高效率,还使用 了缓存技术,这样不必每次都添加水 印,节省时间和提高性能。
本文 中使用到的类是IHttpHandler(准确地说是一个接 口),m sdn对它 的定义是: “定义 ASP.NET 为
使用 自定义 HTTP 处理程序 同步处理 HTTP Web 请求而实现 的协定 。”HTTP处理程序是实现 了
System.Web.IHttpHandler接 口的.NET组件,任何实现 了IHttpHandler接 口的类都可 以用于处理输入 的
HTTP请求 。也就是每次我们请求网站上 的资源,都会 由这个请求处理,这样就好控制 了。
我 的做法是,实现IHttpHandler接 口, 由实现这个接 口的ImageHandler类专 门处理对 图片资源 的请
求,第一次请求某个 图片时, 由于缓存 中没有,就读取这个 图片,添加上我们指定的水 印( 由web.config设
置指定),然后把输 出到客户端, 同时也把它缓存一定时间,在缓存期 内就再次请求这个 图片就不用添加水 印
了,直接把缓存 中的图片输 出就行 了。
首先我们要编写 自己的类ImageHandler实现IHttpHandler接 口,代码如下:
u sing Sy stem ;
u sing Sy stem .Web ;
u sing Sy stem .Drawing ;
u sing Sy stem .Drawing .Imaging ;
/// summary
/// 说 明:ImageHandler是一个 图片处理类,它能实时在在 图片上添加水 印,避免 自己网站 的图片别 的网站盗用
/// / summary
public class ImageHandler :IHttpHandler
{
public ImageHandler ()
{
// TODO : 在此处添加构造 函数逻辑
}
#region IHttpHandler 成员
/// summary
/// 指示IHttpHandler 实例是否可再次使用
/// /summary
public bool IsReu sable
{
g et { return tru e; }
}
/// summary
/// 处理请求 的方法
/// /summary
/// p aram name= context 它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Requ est 、Resp on se、Session 和
Server)的引用。/p aram
public void ProcessRequ est(Http Context context)
{
//获取请求 的物理 图片路径
string imagePath = context .Requ est .Phy sicalPath ;
Bitmap image = null ;
i f (context .Cache [imagePath] == null)
//如果当前缓存 中没有指定的图片就
您可能关注的文档
- HIRFL—CSR主环加速腔系统设计.PDF
- HIV试验室检测技术规范课件-株洲疾控中心.PPT
- HIT德昌杯设计大赛任务书-哈尔滨工业大学.DOC
- heartfailure心肌的收缩和或.PPT
- HKPS-MODBUS电动调节阀智能定位器使用说明书.PDF
- GSP实战培训-山东药学会.PPT
- HP-GX5010升级版精纺细纱摇架-Suessen.PDF
- HT502用户手册-潮流网络.PDF
- hotcleat-欢迎来到LBSFarEast!.PDF
- hublot手表粉丝专页.PDF
- 第4课《古代诗歌四首——观沧海》课件统编版语文七年级上册.pptx
- 8《茶馆(节选)》课件(共45张PPT)统编版高中语文选择性必修下册.pptx
- 八下16《庆祝奥林匹克运动复兴25周年》课件.pptx
- 16《庆祝奥林匹克运动复兴25周年》课件.pptx
- 八下19.登勃朗峰 课件.pptx
- 人教版七年级英语下册Unit 1--2 基础测试题(含答案).pdf
- 人教版三年级语文下册期末试卷(附答案).pdf
- 特色蔬菜产业管理服务第12部分:提供服务主体服务能力评价方法(征求意见稿).pdf
- 特色蔬菜产业管理服务第9部分:有害生物防治服务规范(征求意见稿).pdf
- 特色蔬菜产业管理服务第1部分:生产托管服务及质量评价规范(征求意见稿).docx
文档评论(0)