Да, конечно, это возможно сделать.
Во-первых, использовать html2canvas API, чтобы сделать снимок экрана пользователя:
html2canvas(document.body).then(function(canvas) {
});
Во-вторых использовать следующую функцию для преобразования возвращенного холста изображения в base64 закодированный URL (по умолчанию используется PNG):
canvas.toDataURL();
Specification For canvas.toDataURL
Теперь построим запрос, чтобы отправить base64 закодированный URL на сервер загрузки изображений (я использую Imgur как пример).
html2canvas(document.body).then(function(canvas) {
var dataURL = canvas.toDataURL();
$.ajax({
url: 'https://api.imgur.com/3/image',
type: 'post',
headers: {
Authorization: 'yourauthcode'
},
data: {
image: dataURL
},
dataType: 'json',
success: function(response) {
if(response.success) {
// Post the imgur url to your server.
$.post("yourlinkuploadserver", response.data.link);
}
}
});
});
После того, как изображение было загружено вы можете отправить URL загруженного изображения на веб-сервер.
Specification for $.post
Specification for $.ajax
было бы возможно предоставить вам это в html2canvas api? так как я не знаю, куда положить этот код/интегрировать с api. – maria
Конечно, я сделаю демо для вас –
yourimagesharingserver будет etg: www.example.com/postlink? – maria