用FLEX实现屏幕快照及下载 AND EXCEL
用FLEX实现屏幕快照及下载
Flex/Flash, Flex2, Flex3 GgNET 01月 31st. 2008, 2:53am
这种方式,在服务器端不会在磁盘上生成图片
FLEX代码
public function printMap():void{
var en:JPEGEncoder = new JPEGEncoder(100); //压缩图片,100是指质量
var ba:ByteArray=en.encode(ImageSnapshot.captureBitmapData(this.parent.parent));//将控件转为BitmapData后再转为ByteArray
var request:URLRequest = new URLRequest(”http://localhost:8080/servlet/upload.jsp”);
request.method=”POST”;
request.data=ba;
request.contentType = “application/octet-stream”;
navigateToURL(request,”_blank”); //因为要浏览器触发下载事件,所以就不用异步方式打开连接了
}
upload.jsp代码(如果把application/x-download改成image/jpeg就可以不弹出保存提示框了)
<%@page
language="java” contentType=”application/x-download” import=”java.io.*,java.net.*” pageEncoding=”gb2312″%><%
response.setContentType(”application/x-download”); //内容是下载
response.setHeader(”Content-Disposition”,”attachment;filename=” + “test.jpg”);//文件名,可以进一步处理
//读数据
BufferedInputStream inputStream = new BufferedInputStream(request.getInputStream());
//FileOutputStream outputStream = new FileOutputStream(new File(filePath));
OutputStream outputStream = response.getOutputStream();
byte [] bytes = new byte[1024];
int v;
//写数据
while((v=inputStream.read(bytes))>0){
outputStream.write(bytes,0,v);
}
outputStream.flush();
outputStream.close();
inputStream.close();
%>
flex 生成excel
用
http://code.google.com/p/as3xls/
生成excel文件,然后用上面的方法先上传再下载
支持中文的as3xls http://download.csdn.net/source/839048
屏幕快照(输出到打印机)
var img:Image=new Image();
img.visible=false;
var bd:BitmapData=getBitmapData(UIComponent(Application.application));//此例中是当前应用的可视范围
img.source = new Bitmap(bd);
Application.application.addChild(img);//必须
相关文档:
环境:eclipse 3.5 + tomcat 6.0 + flex builder 3.0 + blazeds-turnkey-3.2.0.3978.zip(adobe网站上下载)
(因为不能放截图所以只能叙述了)
1,新建一个java web项目 例名为 :testjava;
2,在此工程中写一个简单的类:
package cn.com;
& ......
在项目中用到了多个module时,在第一次加载Module是可以的。在第二次加载module时会出现转换失败
解决方法:
如下为解决办法:在要调用远程对象的Application文件里面,加上如下声明语句:
import flash.net.registerClassAlias;
registerClassAlias("JAVA端的类全名",A ......
这是一个简单的工作流设计器模型,还不能用于实际项目,只是个人兴趣做一些技术学习与尝试。设计器支持一些工作流基本组件的绘制,如节点、路由线路等等。
整个设计器是纯Flex技术实现,未与数据库接口。采用Flex Builder 3.0开发,通过实践对Flex以下技术有了更进一 ......
flex和C++服务器通信。因为安全沙漏问题,当swf位于A服务器,C++服务器程序位于B服务器时。
这时swf和B服务器建立Socket建立连接会产生跨域问题。
解决方法如下
swf建立socket时会先发起一个请求跨域文件的请求:"<policy-file-request/>"
服务器接收到后发送字符串
<?xml version="1.0"?>
<cross-doma ......