Мне нужна следующая конечная точка, которая должна вернуть изображение. Я хочу вернуть код 404, когда нет изображения для данного идентификатора сотрудника
[HttpGet("{employeeId}/images/picture")]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[ProducesResponseType(StatusCodes.Status200OK)]
[Produces("image/jpg")]
public ActionResult GetImage(int employeeId)
{
var fileName = _employeeService.GetImage(employeeId);
if (fileName == null)
{
return NotFound();
}
return PhysicalFile(fileName, "image/jpg", $"{employeeId}-picture.jpg");
}
Проблема, с которой я сталкиваюсь, заключается в том, что это возвращает HTTP 406 (неприемлемо), если файл не может существовать. При отладке я вижу go в строке return NotFound()
.
Это работает, как и ожидалось, если я уберу атрибут [Produces("image/jpg")]
. Я предполагаю, что фильтр недоволен тем, что 404 возвращается за Content-Type=image/jpg
Я думаю, я мог бы пропустить это, но я действительно хотел бы понять, что происходит, и посмотреть, есть ли решение.
Спасибо