Я пытаюсь вернуть изображение, хранящееся в папке wwwwroot/images
, это структура:
Внутри View
Iиметь следующий тег:
<img src="@Url.Action("GetAvatar", "User", new { username = User.Identity.Name })" />
, как вы можете видеть для отображения изображения, он просто вызывает GetAvatar
метод из User
контроллера, передавая имя пользователя в качестве параметра.
Метод имеетследующая конфигурация:
[HttpGet]
public FileResult GetAvatar(string username)
{
User user = _repo.GetUser(username);
if(user.UserDetail != null)
return File(user.UserDetail?.UserPhoto, "image/png");
//The user has no custom image, will displayed the default.
string root = Path.Combine(_env.WebRootPath, "images");
return File(Path.Combine(root, "avatar_default.png"), "image/png");
}
первая часть метода, которая извлекает изображение из базы данных, работает, но последняя часть, которая пытается получить изображение из папки wwwroot
, не работает.Фактически, когда я загружаю View
, я получаю испорченный эскиз, что означает, что не найден.
Мне также вводят IHostingEnvironment
для доступа к папке wwwroot
.
Есть идеи?