Javascript 将图表图像保存在特定位置GWT
我有以下代码来保存谷歌聊天中的图像: 我的HMTLJavascript 将图表图像保存在特定位置GWT,javascript,image,gwt,save,google-visualization,Javascript,Image,Gwt,Save,Google Visualization,我有以下代码来保存谷歌聊天中的图像: 我的HMTL function getImgData(chartContainer) { var chartArea = chartContainer.getElementsByTagName('iframe') [0].contentDocument.getElementById('chartArea'); var svg = chartArea.innerHTML; var doc = ch
function getImgData(chartContainer)
{
var chartArea = chartContainer.getElementsByTagName('iframe')
[0].contentDocument.getElementById('chartArea');
var svg = chartArea.innerHTML;
var doc = chartContainer.ownerDocument;
var canvas = doc.createElement('canvas');
canvas.setAttribute('width', chartArea.offsetWidth);
canvas.setAttribute('height', chartArea.offsetHeight);
canvas.setAttribute(
'style',
'position: absolute; ' +
'top: ' + (-chartArea.offsetHeight * 2) + 'px;' +
'left: ' + (-chartArea.offsetWidth * 2) + 'px;');
doc.body.appendChild(canvas);
canvg(canvas, svg);
var imgData = canvas.toDataURL('image/png');
canvas.parentNode.removeChild(canvas);
return imgData;
}
function saveAsImg(chartContainer)
{
var data = getImgData(chartContainer);
window.location = data.replace('image/png', 'image/octet-stream');
}
问题是,向用户询问位置,我想直接保存它,我的意思是,不询问任何具体位置,因为我需要在服务器端将此图像包含到pdf文件中后使用此位置,因此我需要知道位置,并且我需要对用户执行此操作
非常感谢。您是否希望将映像保存在服务器上而不是客户端?如果是这样,您需要在服务器上提供一个服务,该服务可以接受上传的图像并将其保存为文件。然后,您可以通过AJAX发送图像,如下所示:
function uploadImage (chartContainer) {
// using jQuery AJAX
$.ajax({
url: '/path/to/image/save/service',
data: {
image: getImgData(chartContainer)
},
type: 'POST'
});
}
这可能需要调整才能完全正确,但基本概念已经到位