原文发布时间为:2009-09-30 —— 来源于本人的百度文章 [由搬家工具导入]

一提到Ashx文件,我们就会想到http handler以及图片加载(在之前我们一般使用ASPX或者Webservice去做),一般做法如下:

Handler.ashx:

using System;

using System.IO;

using System.Web;

public class Handler : IHttpHandler {

public bool IsReusable {

get {

return true;

}

}

public void ProcessRequest (HttpContext context) {

context.Response.ContentType = "image/jpeg";

context.Response.Cache.SetCacheability(HttpCacheability.Public);

context.Response.BufferOutput = false;

PhotoSize size;

switch (context.Request.QueryString["Size"]) {

case "S":

size = PhotoSize.Small;

break;

case "M":

size = PhotoSize.Medium;

break;

case "L":

size = PhotoSize.Large;

break;

default:

size = PhotoSize.Original;

break;

}

Int32 id = -1;

Stream stream = null;

if (context.Request.QueryString["PhotoID"] != null && context.Request.QueryString["PhotoID"] != "") {

id = Convert.ToInt32(context.Request.QueryString["PhotoID"]);

stream = PhotoManager.GetPhoto(id, size);

} else {

id = Convert.ToInt32(context.Request.QueryString["AlbumID"]);

stream = PhotoManager.GetFirstPhoto(id, size);

}

if (stream == null) stream = PhotoManager.GetPhoto(size);

const int buffersize = 1024 * 16;

byte[] buffer = new byte[buffersize];

int count = stream.Read(buffer, 0, buffersize);

while (count > 0) {

context.Response.OutputStream.Write(buffer, 0, count);

count = stream.Read(buffer, 0, buffersize);

}

}

}

*.aspx:

还可以嵌入文字:

Handler.ashx:

using System;

using System.Web;

public class TestHandler : IHttpHandler {

public void ProcessRequest (HttpContext context) {

context.Response.ContentType = "text/plain";

context.Response.Write("document.write(\"Hello World\");");

}

public bool IsReusable {

get {

return false;

}

}

}

*.aspx:

我们变通以下,发现其实除了可以输出图片以外,还可以输出文字:

Handler.ashx:

using System;

using System.Web;

public class Handler : IHttpHandler {

public void ProcessRequest (HttpContext context) {

context.Response.ContentType = "text/plain";

context.Response.Write("alert('hi')");

}

public bool IsReusable {

get {

return false;

}

}

}

*.aspx:

弹出alert

也可以把.ashx当成css文件

xml文件

orderDoc.load("Handler.ashx");

当你希望从ashx或HttpHandler里访问你的Session时,你必须实现IReadOnlySessionState接口.

代码:

using System;

using System.Web;

using System.Web.SessionState;

public class DownloadHandler : IHttpHandler, IReadOnlySessionState

{

public bool IsReusable { get { return true; } }

public void ProcessRequest(HttpContext ctx)

{

ctx.Response.Write(ctx.Session["fred"]);

}

}

其实,学习的思路不应该这样,以上除了图片外,我们都用偏了,为什么用偏了呢,因为软件以简单、实用为主,我们只是把以上纯粹看成可一项技术而没有把它放到软件的地位去考虑:)

具体的用途,大家可以参考Rewirte.dll (这个dll,可以使服务器支持伪静态的)!

反编译,看看人家做的:)

ashx返回图片_ashx输出文字,执行JavaScript,输出图片等相关推荐

  1. java在图片下方写文字_Java画图给图片底部添加文字标题

    Java画图 给图片底部添加文字标题 需求给图片底部添加文字编号 import java.awt.Color; import java.awt.Font; import java.awt.Graphi ...

  2. python识别图片指定位置文字_python批量识别图片指定区域文字内容

    Python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根 ...

  3. 【批量识别图片内容改名】如何批量识别图片中的文字并自动改名,如何根据图片上的文字内容重命名图片,批量的识别区域内容如何重命名改名,全部告诉你

    废话: 在工作和生活和学习工作中我们经常遇到大量的图片需要进行根据图片内容来重命名图片 有的是扫描全部图片内容进行重命名,文字必须是少量的255个字 有的是需要获取图片指定位置的图片内容进行重命名,多 ...

  4. 网页怎么在图片上添加文字_想给图片添加文字,留白,添加小印章?用手机三步搞定...

    如今越来越多的伙伴喜欢手机摄影,拍好的照片,还可以制作各种精美的图文,直接表达心情的同时,还能获得一片"赞"! 效果1: 图片下方留白+圆形印章 效果2: 图片上下方留白+椭圆形印 ...

  5. html怎么在图片上加文字_怎么把图片文字转换成word文档

    我们在和别人交流的时候,有时候为了方便对方查看和理解,我们会使用文字图片进行交流,这是一种非常方便交流的形式.那如果我们想要将图片里的文字转换成Word文档应该怎么操作? 如果我们想要将图片识别为Wo ...

  6. python怎么加图片_怎么在图片旁边加文字 python如何在图片上添加文字 - 励志 - 52资讯网...

    Python在图片上添加文字的两种方法:OpenCV和PIL 一.OpenCV方法 1.安装cv2 pip install opencv-python 2.利用putText方法来实现在图片的指定位置 ...

  7. python 输出文字_Python中输出ASCII大文字、艺术字、字符字小技巧

    复制代码 代码如下: display text in large ASCII art fonts 显示大ASCII艺术字体 这种东西在源码声明或者软件初始化控制台打印时候很有用. 例如下图: 这是查看 ...

  8. matlab2018在图片上添加文字并保存且图片没有白边

    文章目录 图片添加文字并保存 去除白边 添加文字使用 text函数,难点在于保存,使用 getframe来捕获,然后使用 imwrite来保存,类似的教程网上很多,但是有的添加文字不是使用text函数 ...

  9. div图片背景虚化不影响图片上的文字_css 设置背景图片模糊,内容不模糊

    需求:一个div设置了background: url,现在需要使图片背景模糊,div内的文字清晰显示. 原始代码: .content { color: #ffffff; font-size: 40px ...

  10. python怎么输出文字_python怎么输出汉字

    看Python简明教程,学习使用print打印字符串,试了下打印中文,不行. 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种:print u"学习" print (un ...

最新文章

  1. 基于C语言STC89C52单片机电子密码锁的设计与仿真
  2. 自定义获取url方法
  3. 组会PPT20200522《Summary of Study and Research from May 8 to May 21》
  4. 数组转json去除首尾引号_诞生于JavaScript,json的前世今生
  5. python paramiko使用
  6. 【干货】比赛后期大招之stacking技术分享
  7. 降序排序_排序简单,应用不易,使用Excel排序的几点建议
  8. 比深度学习更值得信赖的模型ART
  9. Leetcode 208:实现Trie(前缀树)
  10. C# html日期选择控件,C#实现日期选择
  11. 【渝粤题库】广东开放大学 发展与教育心理学 形成性考核
  12. 这个被上帝抛弃的国家,创立了全球一半的科技公司
  13. 计算机基础知识(下)(操作系统简介)
  14. mariadb Galera集群部署
  15. 计算机事件查看u盘使用情况,关于U盘使用记录的日志文件
  16. 未来计算机的特点是什么,【简答题】未来计算机的发展将会呈现以下几个趋势:...
  17. 使用php for循环实现一个阶梯式九九乘法表
  18. 国外免费云存储 空间
  19. EM7电磁铁的技术参数
  20. 星球日报 | 70%的人认为瑞波今年涨幅最高;报告认为Bithumb将其交易量夸大了20倍...

热门文章

  1. 区块链+光伏产业,阻力更大还是前景更大?
  2. 日语2级终于过了,在大学的最后一年
  3. 顶象业务安全大讲堂全新升级,挖洞大神喊你来get 挖洞秘籍啦!
  4. mysql安装libaudit_plugin.so审计插件
  5. 西门子SMART200与三菱FX3U自由口通讯程序,有西门子PLC程序
  6. [闲聊]恐怖的Google人物头像识别技术
  7. 已经发车的票还能取出来吗_火车开车后还能取票吗
  8. C语言——果蔬超市管理系统(详解)
  9. 开始重新来学C语言了
  10. Fortinet 修复6个高危漏洞