На мой взгляд, у меня есть тег изображения, который выглядит следующим образом:
<img src='@Url.Action( "Image", "Home", new { Id = @Id })'/>
Это вызывает мой метод в моем контроллере, который выглядит следующим образом:
public string Image(int Id)
{
string strBase64 = "";
using (SqlConnection con = OpenConnection())
{
SqlCommand cmd = new SqlCommand("spGetImageById", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter paramId = new SqlParameter()
{
ParameterName = "@Id",
Value = Id
};
cmd.Parameters.Add(paramId);
byte[] bytes = (byte[]) cmd.ExecuteScalar();
strBase64 = "data:Image/png;base64," + Convert.ToBase64String(bytes);
}
return strBase64;
}
Это успешно возвращает мое изображение base64, но изображение не отображается в представлении. Если я иду на www.url? Id = 234, я вижу строку base64,

Так что я попытался вернуть это как изображение, а не так:
return "<img src=strBase64/>;

И это, конечно, работает. Но как я могу отобразить изображение непосредственно при вызове <img src='@Url.Action( "Image", "Home", new { Id = @Id })'/>
из вида?
Единственное, что я вижу, это изображение "ошибки".