dalv_happy
@dalv_happy

Как скачать изображение в base64?

На реакте генерирую таблицу, которую можно скачать. Т.е. у меня рендерится вёрстка, дальше с помощью плагина html2canvas.js вёрстку конвертирую в canvas элемент, а canvas элемент скачиваю с помощью canvas2image.js
html2canvas(ReactDOM.findDOMNode(this.refs.scheduleTable), {
    onrendered: function (canvas) {
        //Получаю изображение в base64
        var dataURL = canvas.toDataURL('image/png');


        // Convert and download as image 
        Canvas2Image.saveAsPNG(canvas);

    }
});

  1. base64 передавал в window.open(dataURL), не то открывается картинка в новой вкладке, а нужна загрузка при клике на кнопку скачать
  2. Пытался записать base64 в state внутри onrendered, ошибка
    TypeError: this.setState is not a function
    за пределами записывает undefined
  3. Canvas2Image.saveAsPNG(canvas); сохраняет картинку без расширения, хотя это самый простой вариант сохранения, была бы возможность указать формат.

Как можно реализовать сохранения картинки при клике на кнопку скачать картинку?
  • Вопрос задан
  • 728 просмотров
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
Загрузка браузером всегда происходит, если в ответе задан заголовок
Content-disposition: attachment; filename=fileName
Ответ написан
Ваш ответ на вопрос

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

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