donko1
@donko1
Изучаю python

Почему html не выводит картинку?

Пишу свой сайт на python flask. На сайте нужен аватар. Я написал простейший код для его отображения<img src="file:///{{ avatar }}" alt='аватар'>
Но аватар не отобразился и показал значение из alt
Путь указан верно, потому что я еще добавил<p>file:///{{ avatar }}</p>
Перешел по ссылке, которую предоставил html в p и у меня отобразился аватар. Почему так происходит? Ошибка:"Not allowed to load local resource:" Переведя текст и читая решения других пришел к выводу что это либо антивирус либо защита браузера. Скорее всего это связано с тем, что я использую flask. Я создал html-документ где указал тот же путь и открыв документ обнаружил успех. Как отключить эту защиту браузера(пользуюсь firefox, chrome или microsoft edge)?
  • Вопрос задан
  • 123 просмотра
Решения вопроса 3
AlexNest
@AlexNest
Работаю с Python/Django
file:/// это "ссылка" на локальный файл у пользователя.
Путь до какого бы то ни было файла, который должен быть "встроен" в html должен быть в виде относительного или абсолютного url`а.
Ответ написан
Комментировать
@rPman
браузеры правильно защищают от доступа к локальным ресурсам, запрещая смешивать ресурсы из разных протоколов https/http/file в любом порядке (например если ты открываешь страницу с веб сервера по https то тебе будут запрещены ajax запросы по http но разрешены вставки картинок, и все будет запрещено по file)

пропиши каталог с файлами в веб сервере как статика и открывай нормально по http
Ответ написан
Комментировать
@Nikita1244
Anonymous
<img src="file:///{{ avatar }}" alt='аватар'>

Это значит: загрузить картинку с локального диска пользователя, а не с сервера. Поменяйте ссылку на корректную, например ./avatar.png.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы