HTML - Как открыть строку изображения base64 в новой вкладке - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь создать кнопку 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.

Спасибо

...