У меня есть изображение, сохраненное в базе данных путем преобразования байтового массива в строку, а затем я пытаюсь переделать изображение в представлении.Но я хотел сделать так, чтобы, если изображение было нулевым (без загрузки изображения), чтобы они получали изображение по умолчанию «без изображения».Но, кажется, когда я пытаюсь сделать заявление if с моей точки зрения с помощью бритвы.Img src не может найти переменную в операторе if.Причина, по которой мне нужно заполнить src на img вне оператора if, заключается в том, что когда я отправляю форму, мне нужно отправить данные img обратно в действие в контроллере, чтобы преобразовать их и сохранить в базе данных.
Я пытаюсь просмотреть различные способы исправить это, лучшее, что я могу сделать, это сделать скрипты внутри моего оператора if.но он все равно не будет подключаться к моему img src.
<!--Remaking the image from a stromg to a char
array to a byte array to a imagefrom the
database to the original image-->
@if (Model.ImagePath != null)
{
char[] imageChars = Model.ImagePath.ToCharArray();
byte[] imageBytes = imageChars.Select(b => (byte)b).ToArray();
var base64 = Convert.ToBase64String(imageBytes);
var imgSrc = String.Format("data:image/gif;base64,{0}", base64);
<script>
var img = getElementById("ImagePath").src;
img.src = "@imgSrc";
</script>
}
else
{
<script>
var img = getElementById("ImagePath");
img.src = "~/Content/no-image-icon.jpg";
getElementById("ImagePath").width = "100";
getElementById("ImagePath").height = "100";
</script>
}
<img id="ImagePath" alt=""/>
, когда я проверяю страницу, сценарий преобразовал изображение обратно в правильный формат, он просто не отправит его в img src.