-
来源:shangmw的专栏
作者:shangmw
2008-07-08
【大 中小】
在服务器端不会在磁盘上生成图片 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 各组件对应的样式属性 下一篇:
使用 PHP 和 Flex 构建仪表板