我正在生成谷歌图表并使用getimageuri()方法将它们转换为图像。此方法返回一个url,现在我需要将该url存储到文件中。 我不知道如何在django模板中创建文件以及如何将数据存储到其中。 以下是我在javascript中创建代码的图表:
<script type="text/javascript">
google.load('visualization', '1', {packages: ['corechart','table']});
function drawVisualization() {
// Some raw data (not necessarily accurate)
var data = google.visualization.arrayToDataTable([
['Job-Names', 'Pass', 'Fail'],
{{data.0.0|safe}}
]);
var options = {
title : 'Jenkins Job Details for project {{data.0.1}}',
vAxis: {title: "Job Names" , textStyle : {fontSize : 10} },
hAxis: {title: "Number of Builds" , ticks : [2,4,6,8,10] },
is3D: true,
width: 1250,
height: 550,
colors : ["#008000", "#cc0000"],
pointSize: 4
};
var chart_div = document.getElementById('chart_div');
var chart = new google.visualization.BarChart(chart_div);
// Wait for the chart to finish drawing before calling the getImageURI() method.
google.visualization.events.addListener(chart, 'ready', function () {
chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
imageurl = chart.getImageURI()
});
chart.draw(data, options);
//var table = new google.visualization.Table(document.getElementById('table_div'));
//table.draw(data, {showRowNumber: false});
}
google.setOnLoadCallback(drawVisualization);
我需要将图像存储到文件中。 任何帮助将不胜感激。
答案 0 :(得分:1)
getimageuri()实际上返回文件本身,uriencoded,看起来像:
data:image/png;base64,iVBORw0KGgoAA...
如果要存储此图像服务器端,则必须将其发送到服务器,最好使用AJAX,然后在,
之前丢弃文本,然后创建使用django的文件函数从base64字符串中获取图像文件。