java 图片上传 是空白_echarts上传图表图片到Java 后台保存出来是空白图片?

@Kener-林峰 你好,想跟你请教个问题:

我用myChart.getDataURL("png"); 方法把图片数据post 到Java后台保存下来后,打开是空白的。不知道哪里出问题了。

我参考了@wfs1206 写的echarts图表导出excel 。他是用extjs+echarts+poi,但是我不会用Extjs,我用的是原生的javascript上传的。代码如下:

// 图表实例化------------------

// srcipt标签式引入

var myChart = echarts.init(document.getElementById('main'));

var option = {

title : {

text: '某地区蒸发量和降水量',

subtext: '纯属虚构'

},

tooltip : {

trigger: 'axis'

},

legend: {

data:['蒸发量','降水量']

},

toolbox: {

show : true,

feature : {

mark : {show: true},

dataView : {show: true, readOnly: false},

magicType : {show: true, type: ['line', 'bar']},

restore : {show: true},

saveAsImage : {show: true}

}

},

calculable : false,

animation : false,

xAxis : [

{

type : 'category',

data : ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']

}

],

yAxis : [

{

type : 'value'

}

],series : [

{

name:'蒸发量',

type:'bar',

data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],

markPoint : {

data : [

{type : 'max', name: '最大值'},

{type : 'min', name: '最小值'}

]

},

markLine : {

data : [

{type : 'average', name: '平均值'}

]

}

},

{

name:'降水量',

type:'bar',

data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],

markPoint : {

data : [

{name : '年最高', value : 182.2, xAxis: 7, yAxis: 183, symbolSize:18},

{name : '年最低', value : 2.3, xAxis: 11, yAxis: 3}

]

},

markLine : {

data : [

{type : 'average', name : '平均值'}

]

}

}

]

};

myChart.setOption(option);

function exportImage(){

var data = "a=" + myChart.getDataURL("png");

var xmlhttp;

if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp = new XMLHttpRequest();

} else { // code for IE6, IE5

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.open("POST","/echarts/ExportsAction/saveImage",true);

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

xmlhttp.onreadystatechange = function() {

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

alert(xmlhttp.responseText);

}

}

xmlhttp.send(data);

}

setTimeout('exportImage()', 2000); Java后台代码:

public void saveImage() {

String a = getPara("a");

try {

String[] url = a.split(",");

String u = url[1];

// Base64解码

byte[] b = new BASE64Decoder().decodeBuffer(u);

// 生成图片

OutputStream out = new FileOutputStream(new File("E:\\workspace3.7\\echarts_web\\"+System.currentTimeMillis()+".png"));

out.write(b);

out.flush();

out.close();

} catch (Exception e) {

e.printStackTrace();

}

renderText("save image ok");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值