Я пытаюсь создать кнопку HTML, которая откроет изображение в виде строки base64 в новой вкладке.Я сделал пробную версию, которая отлично работает со статическими изображениями:
<button type = "button" id = "submit_btn" class="contact100-form-btn">
<a href="static/static_filename.png" class="contact100-form-btn" target="_blank">
Download
</a>
</button>
Теперь я хотел бы сделать что-то динамически (в приложении каждый пользователь создает новое изображение, поэтому обслуживание из одного статического имени файла не будет работать).Моя первая попытка:
<button type = "button" id = "submit_btn" class="contact100-form-btn">
<a href="data:image/png;base64,{img_io}" class="contact100-form-btn" target="_blank">
Download
</a>
</button>
Где img_io
- строка изображения в кодировке base64.
Нажатие на кнопку ничего не делает и выдает сообщение Not allowed to navigate top frame to data URL
в консоли разработчика Chrome.Я попытался добавить загрузку явно:
<button type = "button" id = "submit_btn" class="contact100-form-btn">
<a download="filename.png" href="data:image/png;base64,{img_io}" class="contact100-form-btn" target="_blank">
Download
</a>
</button>
Это приводит к успешной загрузке образа в Chrome, но не работает в Firefox.Кто-нибудь знает, как открыть строку изображения base64 в новой вкладке?Или как запасной вариант создания прямой загрузки, который работает в разных браузерах?Желательно в чистом HTML, так как это часть веб-приложения на основе Python, и я почти ничего не знаю о Javascript.
Спасибо