Я пытаюсь загрузить изображение всего холста, используя canvas.toDataURL(). Изображение представляет собой карту, отображаемую на холсте (Open Layers 3).
В Firefox я могу использовать следующее, чтобы загрузить карту по щелчку ссылки:
var exportPNGElement = document.getElementById('export_image_button');
if ('download' in exportPNGElement) {
map.once('postcompose', function(event) {
var canvas = event.context.canvas;
exportPNGElement.href = canvas.toDataURL('image/png');
});
map.renderSync();
} else {
alert("Sorry, something went wrong during our attempt to create the image");
}
Однако в Chrome и Opera я нажимаю ограничение по размеру ссылки. Я должен физически сделать окно меньше для загрузки, чтобы работать.
Существуют различия в размерах между браузерами, особенно для Chrome. Подобный пост здесь (старше 2 лет) предлагает обходное решение на стороне сервера:
canvas.toDataURL() для большого холста
Есть ли клиентская сторона для этого вообще?