2013-07-23 3 views
1

У меня есть следующий код для сохранения изображения из моего чата google:Сохранить изображение графика в определенном месте GWT

My HMTL;

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-файл, поэтому мне нужно знать местоположение, и мне нужно сделать это прозрачным для пользователя.

Благодарим вас в преимуществе.

ответ

0

Вы хотите сохранить изображение на своем сервере, а не на стороне клиента? Если это так, вам понадобится служба на вашем сервере, которая может принять изображение в загружаемом файле и сохранить его как файл. После этого вы можете отправить изображение с помощью AJAX-то вроде этого:

function uploadImage (chartContainer) { 
    // using jQuery AJAX 
    $.ajax({ 
     url: '/path/to/image/save/service', 
     data: { 
      image: getImgData(chartContainer) 
     }, 
     type: 'POST' 
    }); 
} 

Это, вероятно, нуждается в настройки, чтобы получить именно право, но основные понятия на месте.

Смежные вопросы