На реакте генерирую таблицу, которую можно скачать. Т.е. у меня рендерится вёрстка, дальше с помощью плагина
html2canvas.js вёрстку конвертирую в canvas элемент, а canvas элемент скачиваю с помощью
canvas2image.jshtml2canvas(ReactDOM.findDOMNode(this.refs.scheduleTable), {
onrendered: function (canvas) {
//Получаю изображение в base64
var dataURL = canvas.toDataURL('image/png');
// Convert and download as image
Canvas2Image.saveAsPNG(canvas);
}
});
- base64 передавал в window.open(dataURL), не то открывается картинка в новой вкладке, а нужна загрузка при клике на кнопку скачать
- Пытался записать base64 в state внутри onrendered, ошибка
TypeError: this.setState is not a function
за пределами записывает undefined
-
Canvas2Image.saveAsPNG(canvas);
сохраняет картинку без расширения, хотя это самый простой вариант сохранения, была бы возможность указать формат.
Как можно реализовать сохранения картинки при клике на кнопку
скачать картинку?