2012-03-29 2 views
1

Ich arbeite gerade an einem Schulprojekt und ich bin nicht sicher, was zurückgegeben wird und wie man die Daten verwendbar macht. Hier ist der Code:Erhalte ein Bild mit Handler.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) gibt "(byte []) cmd.ExecuteScalar();", Ich bin mir nicht wirklich sicher, was ich mit den Informationen machen soll, die zurückgegeben werden. Ich nehme an, es ist das Bild selbst? jede Hilfe wird geschätzt. Vielen Dank!

Antwort

3

warum nicht versuchen,

function GetImage(id) { 

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

    } 
+0

Thank you! Lief wie am Schnürchen. Ich hatte den Eindruck, dass ich ein xmlHttpObject verwenden musste, weil ich es nie anders gemacht habe. Es ist gut, ab und zu einen Refresh-Flash zu bekommen, um sich daran zu erinnern, dass es immer einen anderen Weg gibt. –