正着手准备做个图片共享网站,考虑到图片的防盗链,剥离出了BlogEngine的ImageHandler,并进行简单地修改。用来做隐藏图片的真实地址和防盗链。
备注:不太明白这里的private static void OnServing(string file),private static void OnServed(string file),private static void OnBadRequest(string file)这些方法以及事件的作用,还请网友们不吝赐教。
如果要实现防盗链,只需要加入对Request.UrlReferrer.Host的判断就OK了。
在Web.config中加入:
这样,在App_Data文件夹中创建"Picture"目录,并在目录下存放图片文件,这样就可以用image.axd?picture=PictureName (PictureName指你的图片名称)来访问图片了。
BlogEngine有太多值得学习的地方了,好东西啊!