【Anychart】自动保存flash图片到指定目录下。

弄了两天,真鄙视那个网上搜索排名前面那几个帖子,误导了好久。因为以前没接触过anychart,看了好久没明白,加了他Q问他,原来是企业级的,还要收费。

这里直接贴代码:


源代码在资源以上传。


接受服务器端:



AnyChartPNGSaver.jsp


<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="java.io.ByteArrayInputStream"%>
<%@ page import="java.awt.image.BufferedImage"%>
<%@ page import="java.io.File"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.imageio.ImageIO"%>
<%@ page import="sun.misc.BASE64Decoder"%>

<%
  String str = request.getParameter("file");
  UUID uuid = UUID.randomUUID();
  String imgUUID = uuid.toString().replaceAll("-","");
  
  //写入文件
  if(request.getParameter("file") != null){
	  try {
	  	   BASE64Decoder decoder = new BASE64Decoder(); 
           byte[] bytes1 = decoder.decodeBuffer(str.replace(" ","+"));//转换正规的图片空格转为+
           ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);   
           BufferedImage bi1 =ImageIO.read(bais);   
           File w2 = new File("d://"+imgUUID+".png");//可以是jpg,png,gif格式   
           ImageIO.write(bi1, "png", w2);//不管输出什么格式图片,此处不需改动   
         
      } catch (Exception e) {   
          e.printStackTrace();
      }   
  }
%>


index.html



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<script type="text/javascript" language="javascript" src="./js/AnyChart.js"></script>
		
		<script type="text/javascript" language="JavaScript">
			function makeMultipartFormDataPostRequest(path, file) {
				var xmlhttp = false;
				try {
					xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (E) {
						xmlhttp = false;
					}
				}
				
				if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
					try {
						xmlhttp = new XMLHttpRequest();
					} catch (e) {
						xmlhttp=false;
					}
				}
				
				if (!xmlhttp && window.createRequest) {
					try {
						xmlhttp = window.createRequest();
					}catch (e) {
						xmlhttp=false;
					}
				}
				
				xmlhttp.open("POST", path, false);
				xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
				//文件名字
				xmlhttp.send("file="+file+"&fileName=sss");
				return xmlhttp.responseText;
			}
			
			AnyChart.swfFile = "./swf/AnyChart.swf";
			function saveChartAsImage(chart) {
				var file;
				try{
					file = chart.getPNG(); 
				}catch(e){					
				}
				//请求服务
				makeMultipartFormDataPostRequest('AnyChartPNGSaver.jsp',file);

			}
		</script>
	</head>
	<body>
		<!-- report -->
		<div id="report">
			<div id="chart_container"></div>
			<script type="text/javascript" language="javascript">
				var chart = new AnyChart();
				chart.setXMLFile("./data/data-1.xml");
				chart.addEventListener("draw", function() {
					saveChartAsImage(chart);
				});
				chart.write("chart_container");
			</script>
		</div>
	</body>
</html>





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值