Как вернуть статус код 404 VirtualFileResult?
[HttpGet]
public VirtualFileResult GetVirtualFile(string fileName)
{
fileName = fileName.Replace(" ", "") + ".pdf";
var filepath = Path.Combine("~/Files", fileName);
if (System.IO.File.Exists(filepath))
{
return ;
}
return File(filepath, "application/pdf", fileName);
}
Если файл не существует, то добавить логику, которая будет возвращать страницу со статус-кодом 404
Ответы (1 шт):
Автор решения: Avanlock
→ Ссылка
[HttpGet]
public IActionResult GetVirtualFile(string fileName)
{
fileName = fileName.Replace(" ", "") + ".pdf";
var filePath = Path.Combine("~/Files", fileName);
try
{
return PhysicalFile(filePath, "application/pdf", fileName);
}
catch (FileNotFoundException)
{
return NotFound();
}
catch (Exception e)
{
return StatusCode(StatusCodes.Status500InternalServerError);
}
}