2

可能重复:
如何将 json 图像(字节数组)反序列化为 asp.net 中的图像?

字节数组被转换为每个字节的整数表示。在 Fiddler 中查看时,它看起来像

 {"imageBackground":[137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,...]}

如何从json Web 服务中检索此整数图像数组 作为 asp.net c# 中的类

4

1 回答 1

1

假设你有一个字节数组:

byte[] imageBackground = new byte[] { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,... };

你可以创建一个Image

using (var stream = new MemoryStream(imageBackground))
using (var image = Image.FromStream(stream))
{
    // do something with the image
}

或者,如果您想在 ASP.NET Web 表单上显示它,则可以在Image控件内编写一个通用处理程序,将该图像流式传输到响应:

public class ImageHandler : IHttpHandler
{
    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        var response = context.Response;
        byte[] imageBackground = new byte[] { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,... };
        response.OutputStream.Write(imageBackground, 0, imageBackground.Length);
        response.ContentType = "image/jpeg";
    }
}

然后将 Image 控件指向此通用处理程序:

<asp:Image runat="server" ID="myimage" ImageUrl="~/imagehandler.ashx" />
于 2013-01-02T06:27:52.997 回答