ASP.NET筆記之 Httphandler的操作詳解
1、httphandler
實(shí)例1:通過生成一張動(dòng)態(tài)圖片輸出客戶端的IP地址、操作系統(tǒng)類型、瀏覽器類型
<%@ WebHandler Language="C#" Class="visitor" %>
using System;
using System.Web;
public class visitor : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/JPEG";
using (System.Drawing.Bitmap bitImage = new System.Drawing.Bitmap(330, 300))
{
//設(shè)置畫布
using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitImage))
{
//IP
g.DrawString("IP:" + context.Request.UserHostAddress, new System.Drawing.Font("宋體", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 0));
//操作系統(tǒng)
g.DrawString("操作系統(tǒng):" + context.Request.Browser.Platform, new System.Drawing.Font("宋體", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 50));
//瀏覽器
g.DrawString("瀏覽器:" + context.Request.Browser.Type, new System.Drawing.Font("宋體", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 100));
}
//保存到輸出流中
bitImage.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
public bool IsReusable {
get {
return false;
}
}
}
實(shí)例2:通過“下載”連接,彈出用戶附件保存
html代碼:<a href="dowload.ashx">下載</a>
<%@ WebHandler Language="C#" Class="dowload" %>
using System;
using System.Web;
public class dowload : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
string fileName = HttpUtility.UrlEncode("悲劇.jpg");
context.Response.ContentType = "image/JPEG";
//打開附件對(duì)話框 報(bào)文頭header和設(shè)置它的值
context.Response.AddHeader("Content-Disposition", "attachment:filename=" + fileName);
context.Response.WriteFile("蘋果.jpg");
}
public bool IsReusable {
get {
return false;
}
}
}
相關(guān)文章
詳解.Net core2.0日志組件Log4net、Nlog簡(jiǎn)單性能測(cè)試
這篇文章主要介紹了詳解.Net core2.0日志組件Log4net、Nlog簡(jiǎn)單性能測(cè)試,比較log4net、nlog的文件寫入性能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07MVC微信網(wǎng)頁授權(quán)獲取用戶OpenId
這篇文章主要為大家詳細(xì)介紹了MVC微信網(wǎng)頁授權(quán),在模板頁中獲取用戶openid,感興趣的小伙伴們可以參考一下2016-09-09ASP.NET 前臺(tái)javascript與后臺(tái)代碼調(diào)用
ASP.NET中前臺(tái)javascript與后臺(tái)代碼調(diào)用的實(shí)現(xiàn)代碼說明。2009-08-08asp.net 中靜態(tài)方法和動(dòng)態(tài)方法調(diào)用的區(qū)別實(shí)例分析
動(dòng)態(tài)方法,在使用時(shí)需要先創(chuàng)建實(shí)例,才能調(diào)用實(shí)例方法,而靜態(tài)方法則不需要,直接使用即可。2013-06-06ASP.NET?Core配置設(shè)置之Configuration包
這篇文章介紹了ASP.NET?Core配置設(shè)置之Configuration包,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07ASP.NET Gridview 中使用checkbox刪除的2種方法實(shí)例分享
ASP.NET Gridview 中使用checkbox刪除的2種方法實(shí)例分享,需要的朋友可以參考一下2013-06-06