Как отправить изображение через web api 2? - PullRequest
0 голосов
/ 08 октября 2018

У меня есть клиент 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 голосов
/ 08 октября 2018

Чтобы получить реальное изображение в виде строки, вам, конечно, нужно будет его кодировать, вы можете попробовать закодировать его в 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)));
...