ashx一般处理程序文件用处

今天逛博客园,无意发现一篇好文章,关于ashx文件的使用。

文章一:向服务器发送josn字符串,服务器端解析

本文转载:http://www.cnblogs.com/yzenet/p/3470388.html

复制代码
    <script type="text/javascript">
        $(function () {
            $("#btnsave").click(function () {


                var json = { "age": 12, "address": "hk",
                    "ship": [ { "custID": "sz", "cpname": "bookstrf" },{ "custID": "fkff", "cpname": "kfg"}]
                };
              
                $.ajax({

                    type: "post",
                    url: "Handler/test.ashx",
                    datatype: "json",
                    data: { name: JSON.stringify(json) },
                    async: true,
                    success: function (data) {
                        alert(data);

                    }
                });
            });

        });
    </script>
复制代码
复制代码
public class test : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
          
            string ss = context.Request["name"];

            var serialize = new JavaScriptSerializer();
            var t = serialize.Deserialize<Model>(ss);

        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

        class Model
        {
            public int age {get; set;}
            public string address{get; set;}
            public List<Ship> ship{get; set;}
        }
        class Ship
        {
            public string custID{get; set;}
            public string cpname { get; set; }
        }
    }
复制代码

//得到数据对象:

请求URL:http://localhost:3043/Handler1.ashx?name=HelloWorld!

 

文章二:如何读取二进制图片-.ashx一般处理程序 --1 

本文博客转载:http://www.cnblogs.com/travelcai/archive/2007/09/25/904767.html

 

总结:看了上面文章一和文章二;可以将两者结合起来。

如果是显示多个不同图片时候,是否可以将

 <asp:Image ID="Image1" runat="server"  ImageUrl="~/ImageHandler.ashx"/></div>

进行改造:

 <asp:Image ID="Image1" runat="server"  ImageUrl="~/ImageHandler.ashx/?pic=U1513.jpg"/></div>

ashx一般程序代码:

 

  public void ProcessRequest (HttpContext context)
    {
        //获取虚拟目录的物理路径。 
        string path = context.Server.MapPath("");
        
        //获取图片文件名
        string picFileName = context.Request["pic"];
        
        //获取图片文件的二进制数据。
        byte[] datas = System.IO.File.ReadAllBytes(path + "\\" + picFileName);
       //将二进制数据写入到输出流中。
        context.Response.OutputStream.Write(datas, 0, datas.Length);
    }
 

  继续扩展一下思路:如果是读取员工信息表,显示员工头像呢?是否只需要传递EmpID就行呢? 。。。 。。。 。答案是可以的!!!

posted @ 2014-01-01 22:20  跟着阿笨一起玩.NET  阅读(11720)  评论(1编辑  收藏  举报