Image 如何通过web api 2发送图像?

Image 如何通过web api 2发送图像?,image,asp.net-web-api2,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; se

我有一个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
是服务器解决方案中包含图像的文件夹中的图像

我该怎么做


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

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

byte[] imageBits = System.IO.File.ReadAllBytes(@"/path/to/image");
string imageBase64 = Convert.ToBase64String(imageBits);
然后,要显示它,您可以使用
,或将其解码回实际图像:

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

我希望映像将成为响应的一部分,这样我将返回我的产品对象,而不是HttpResponseMessage obejctDo。您想要实际映像,还是只需要磁盘上的映像路径?@Stuart实际映像