如何通过Web API 2发送图像?

时间:2018-10-08 13:00:52

标签: image asp.net-web-api2

我有一个android客户端和asp.net服务器,正在使用Web api 2。 我想将服务器中的图像返回到客户端作为响应的一部分,我的意思是我的响应对象是:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Category { get; set; }
    public decimal Price { get; set; }
}

现在我希望我的对象看起来像:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Category { get; set; }
    public decimal Price { get; set; }
    public string Image { get; set; }
}

这样string Image是服务器解决方案中包含图像的文件夹中的图像。

我该怎么做?

(我不知道如何定义图像对象,所以我将其定义为字符串)

1 个答案:

答案 0 :(得分:1)

要获取实际图像为字符串,您当然需要对其进行编码,您可以尝试对它进行base64编码-这将使您可以将其作为字符串:

byte[] imageBits = System.IO.File.ReadAllBytes(@"/path/to/image");
string imageBase64 = Convert.ToBase64String(imageBits);

然后显示它,您可以使用<img src="data:yourBase64StringHere" />,也可以将其解码回实际图像:

var img = Image.FromStream(new MemoryStream(Convert.FromBase64String(imageBase64)));