使用Handler.ashx获取图像

时间:2012-03-29 17:35:32

标签: javascript asp.net ashx

我目前正在开展一个学校项目,我不确定返回什么以及如何使数据可用。这是代码:

Default.aspx的

function GetImage(id) {
        //step k. - code here
        xmlHttpObj = CreateXmlHttpRequestObject();
        if (xmlHttpObj) {
            xmlHttpObj.open("GET", "Handler.ashx?id=" + id, true);
            xmlHttpObj.send(null);
            var image = document.getElementById("ProductImage");
            //the response contains an array of 5419 index
        }
    }

Handler.ashx

public void ProcessRequest (HttpContext context)
    {
        int id;
        if (context.Request.QueryString["id"] != null)
        {
            id = Convert.ToInt32(context.Request.QueryString["id"]);
            context.Response.ContentType = "image/jpeg";
            byte[] bufferImg = GetImage(id);
            context.Response.OutputStream.Write(bufferImg, 0, bufferImg.Length);
        }
    }

GetImage(int id)返回“(byte [])。cmd.ExecuteScalar();”,我不确定我应该对传回的信息做什么。我假设它是图像本身?任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:3)

为什么不试试

function GetImage(id) {

            document.getElementById("ProductImage").src="Handler.ashx?id=" + id;

    }