как получить изображение на сервере в С # для веб-API?

Я создаю веб-API для извлечения изображения из папки сервера, в С #, мне нужен код для этого, заранее спасибо,

[HttpPost]
[Route("Fileretrive")]
public void retrive(string filename)
{
    //var ctx = HttpContext.Current;
    var root = HttpContext.Current.Server.MapPath("~/Photos");
    var tempath = Path.Combine(root,filename);
    Directory.GetFiles(tempath);
    byte[] byteArray = null;
    byteArray = System.IO.File.ReadAllBytes(tempath);

}

1 ответ

Вы почти у цели. для начала нужно вернуть результат действия. поскольку вы передаете байт, используйте файл в качестве возврата.

[HttpPost]
[Route("Fileretrive")]
public IActionResult retrive(string filename)
{
    //var ctx = HttpContext.Current;
    var root = HttpContext.Current.Server.MapPath("~/Photos");
    var tempath = Path.Combine(root,filename);
    Directory.GetFiles(tempath);
    byte[] byteArray = null;
    byteArray = System.IO.File.ReadAllBytes(tempath);
    // check your mime type, and set your unique file name. maybe use DateTime for your file name
    return File(byteArray , "image/jpeg", $"{DateTime.Now.ToString("ddMMMyyyy")}.jpeg"); 

}
Другие вопросы по тегам